mirror of
https://github.com/golang/go
synced 2024-11-11 23:10:23 -07:00
cmd/internal/obj: remove dead fields and code
A quick pass through link.go, mostly removing fields that are not used on the "creating a single object file" side of the fence. Change-Id: I35ba41378c2c418f7df2f2f88dce65bc64a1a45d Reviewed-on: https://go-review.googlesource.com/7672 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
e7d9f81645
commit
ad49c7bb62
@ -1524,7 +1524,7 @@ func asmout(ctxt *obj.Link, p *obj.Prog, o *Optab, out []uint32) {
|
||||
|
||||
case 0: /* pseudo ops */
|
||||
if false { /*debug['G']*/
|
||||
fmt.Printf("%x: %s: arm %d\n", uint32(p.Pc), p.From.Sym.Name, p.From.Sym.Fnptr)
|
||||
fmt.Printf("%x: %s: arm\n", uint32(p.Pc), p.From.Sym.Name)
|
||||
}
|
||||
|
||||
case 1: /* op R,[R],R */
|
||||
|
@ -115,7 +115,6 @@ func progedit(ctxt *obj.Link, p *obj.Prog) {
|
||||
if s.Type == 0 {
|
||||
s.Type = obj.SRODATA
|
||||
obj.Adduint32(ctxt, s, i32)
|
||||
s.Reachable = 0
|
||||
}
|
||||
|
||||
p.From.Type = obj.TYPE_MEM
|
||||
@ -132,7 +131,6 @@ func progedit(ctxt *obj.Link, p *obj.Prog) {
|
||||
if s.Type == 0 {
|
||||
s.Type = obj.SRODATA
|
||||
obj.Adduint64(ctxt, s, i64)
|
||||
s.Reachable = 0
|
||||
}
|
||||
|
||||
p.From.Type = obj.TYPE_MEM
|
||||
|
@ -121,7 +121,6 @@ func Setuintxx(ctxt *Link, s *LSym, off int64, v uint64, wid int64) int64 {
|
||||
if s.Type == 0 {
|
||||
s.Type = SDATA
|
||||
}
|
||||
s.Reachable = 1
|
||||
if s.Size < off+wid {
|
||||
s.Size = off + wid
|
||||
Symgrow(ctxt, s, s.Size)
|
||||
@ -183,7 +182,6 @@ func addaddrplus(ctxt *Link, s *LSym, t *LSym, add int64) int64 {
|
||||
if s.Type == 0 {
|
||||
s.Type = SDATA
|
||||
}
|
||||
s.Reachable = 1
|
||||
i := s.Size
|
||||
s.Size += int64(ctxt.Arch.Ptrsize)
|
||||
Symgrow(ctxt, s, s.Size)
|
||||
@ -200,7 +198,6 @@ func addpcrelplus(ctxt *Link, s *LSym, t *LSym, add int64) int64 {
|
||||
if s.Type == 0 {
|
||||
s.Type = SDATA
|
||||
}
|
||||
s.Reachable = 1
|
||||
i := s.Size
|
||||
s.Size += 4
|
||||
Symgrow(ctxt, s, s.Size)
|
||||
@ -221,7 +218,6 @@ func setaddrplus(ctxt *Link, s *LSym, off int64, t *LSym, add int64) int64 {
|
||||
if s.Type == 0 {
|
||||
s.Type = SDATA
|
||||
}
|
||||
s.Reachable = 1
|
||||
if off+int64(ctxt.Arch.Ptrsize) > s.Size {
|
||||
s.Size = off + int64(ctxt.Arch.Ptrsize)
|
||||
Symgrow(ctxt, s, s.Size)
|
||||
@ -244,7 +240,6 @@ func addsize(ctxt *Link, s *LSym, t *LSym) int64 {
|
||||
if s.Type == 0 {
|
||||
s.Type = SDATA
|
||||
}
|
||||
s.Reachable = 1
|
||||
i := s.Size
|
||||
s.Size += int64(ctxt.Arch.Ptrsize)
|
||||
Symgrow(ctxt, s, s.Size)
|
||||
@ -260,7 +255,6 @@ func addaddrplus4(ctxt *Link, s *LSym, t *LSym, add int64) int64 {
|
||||
if s.Type == 0 {
|
||||
s.Type = SDATA
|
||||
}
|
||||
s.Reachable = 1
|
||||
i := s.Size
|
||||
s.Size += 4
|
||||
Symgrow(ctxt, s, s.Size)
|
||||
|
@ -272,45 +272,20 @@ const (
|
||||
|
||||
type LSym struct {
|
||||
Name string
|
||||
Extname string
|
||||
Type int16
|
||||
Version int16
|
||||
Dupok uint8
|
||||
Cfunc uint8
|
||||
External uint8
|
||||
Nosplit uint8
|
||||
Reachable uint8
|
||||
Cgoexport uint8
|
||||
Special uint8
|
||||
Stkcheck uint8
|
||||
Hide uint8
|
||||
Leaf uint8
|
||||
Fnptr uint8
|
||||
Localentry uint8
|
||||
Seenglobl uint8
|
||||
Onlist uint8
|
||||
Printed uint8
|
||||
Symid int16
|
||||
Dynid int32
|
||||
Plt int32
|
||||
Got int32
|
||||
Align int32
|
||||
Elfsym int32
|
||||
Args int32
|
||||
Locals int32
|
||||
Value int64
|
||||
Size int64
|
||||
Allsym *LSym
|
||||
Next *LSym
|
||||
Sub *LSym
|
||||
Outer *LSym
|
||||
Gotype *LSym
|
||||
Reachparent *LSym
|
||||
Queue *LSym
|
||||
File string
|
||||
Dynimplib string
|
||||
Dynimpvers string
|
||||
Sect *struct{}
|
||||
Autom *Auto
|
||||
Text *Prog
|
||||
Etext *Prog
|
||||
@ -376,9 +351,7 @@ const (
|
||||
type Reloc struct {
|
||||
Off int32
|
||||
Siz uint8
|
||||
Done uint8
|
||||
Type int32
|
||||
Variant int32
|
||||
Add int64
|
||||
Xadd int64
|
||||
Sym *LSym
|
||||
@ -408,17 +381,6 @@ const (
|
||||
R_POWER_TOC
|
||||
)
|
||||
|
||||
// Reloc.variant
|
||||
const (
|
||||
RV_NONE = iota
|
||||
RV_POWER_LO
|
||||
RV_POWER_HI
|
||||
RV_POWER_HA
|
||||
RV_POWER_DS
|
||||
RV_CHECK_OVERFLOW = 1 << 8
|
||||
RV_TYPE_MASK = RV_CHECK_OVERFLOW - 1
|
||||
)
|
||||
|
||||
type Auto struct {
|
||||
Asym *LSym
|
||||
Link *Auto
|
||||
@ -459,24 +421,15 @@ const (
|
||||
// Link holds the context for writing object code from a compiler
|
||||
// to be linker input or for reading that input into the linker.
|
||||
type Link struct {
|
||||
Thechar int32
|
||||
Thestring string
|
||||
Goarm int32
|
||||
Headtype int
|
||||
Arch *LinkArch
|
||||
Ignore func(string) int32
|
||||
Debugasm int32
|
||||
Debugline int32
|
||||
Debughist int32
|
||||
Debugread int32
|
||||
Debugvlog int32
|
||||
Debugstack int32
|
||||
Debugzerostack int32
|
||||
Debugdivmod int32
|
||||
Debugfloat int32
|
||||
Debugpcln int32
|
||||
Flag_shared int32
|
||||
Iself int32
|
||||
Bso *Biobuf
|
||||
Pathname string
|
||||
Windows int32
|
||||
@ -485,8 +438,6 @@ type Link struct {
|
||||
Goroot_final string
|
||||
Enforce_data_order int32
|
||||
Hash map[SymVer]*LSym
|
||||
Allsym *LSym
|
||||
Nsymbol int32
|
||||
LineHist LineHist
|
||||
Imports []string
|
||||
Plist *Plist
|
||||
@ -513,20 +464,13 @@ type Link struct {
|
||||
Autosize int32
|
||||
Armsize int32
|
||||
Pc int64
|
||||
Libdir []string
|
||||
Library []Library
|
||||
Tlsoffset int
|
||||
Diag func(string, ...interface{})
|
||||
Mode int
|
||||
Curauto *Auto
|
||||
Curhist *Auto
|
||||
Cursym *LSym
|
||||
Version int
|
||||
Textp *LSym
|
||||
Etextp *LSym
|
||||
Histdepth int32
|
||||
Nhistfile int32
|
||||
Filesyms *LSym
|
||||
}
|
||||
|
||||
type SymVer struct {
|
||||
@ -534,13 +478,6 @@ type SymVer struct {
|
||||
Version int
|
||||
}
|
||||
|
||||
type Library struct {
|
||||
Objref string
|
||||
Srcref string
|
||||
File string
|
||||
Pkg string
|
||||
}
|
||||
|
||||
// LinkArch is the definition of a single architecture.
|
||||
type LinkArch struct {
|
||||
ByteOrder binary.ByteOrder
|
||||
@ -572,14 +509,6 @@ const (
|
||||
Hwindows
|
||||
)
|
||||
|
||||
const (
|
||||
LinkAuto = 0 + iota
|
||||
LinkInternal
|
||||
LinkExternal
|
||||
)
|
||||
|
||||
var linkbasepointer int
|
||||
|
||||
type Plist struct {
|
||||
Name *LSym
|
||||
Firstpc *Prog
|
||||
|
@ -225,18 +225,11 @@ func linknewsym(ctxt *Link, symb string, v int) *LSym {
|
||||
s := new(LSym)
|
||||
*s = LSym{}
|
||||
|
||||
s.Dynid = -1
|
||||
s.Plt = -1
|
||||
s.Got = -1
|
||||
s.Name = symb
|
||||
s.Type = 0
|
||||
s.Version = int16(v)
|
||||
s.Value = 0
|
||||
s.Size = 0
|
||||
ctxt.Nsymbol++
|
||||
|
||||
s.Allsym = ctxt.Allsym
|
||||
ctxt.Allsym = s
|
||||
|
||||
return s
|
||||
}
|
||||
@ -248,7 +241,6 @@ func _lookup(ctxt *Link, symb string, v int, creat int) *LSym {
|
||||
}
|
||||
|
||||
s = linknewsym(ctxt, symb, v)
|
||||
s.Extname = s.Name
|
||||
ctxt.Hash[SymVer{symb, v}] = s
|
||||
|
||||
return s
|
||||
|
@ -246,7 +246,6 @@ func progedit(ctxt *obj.Link, p *obj.Prog) {
|
||||
if s.Type == 0 {
|
||||
s.Type = obj.SRODATA
|
||||
obj.Adduint32(ctxt, s, i32)
|
||||
s.Reachable = 0
|
||||
}
|
||||
|
||||
p.From.Type = obj.TYPE_MEM
|
||||
@ -290,7 +289,6 @@ func progedit(ctxt *obj.Link, p *obj.Prog) {
|
||||
if s.Type == 0 {
|
||||
s.Type = obj.SRODATA
|
||||
obj.Adduint64(ctxt, s, i64)
|
||||
s.Reachable = 0
|
||||
}
|
||||
|
||||
p.From.Type = obj.TYPE_MEM
|
||||
|
Loading…
Reference in New Issue
Block a user