From: Than McIntosh Date: Tue, 28 Apr 2020 17:45:35 +0000 (-0400) Subject: [dev.link] cmd/link: tweak genasmsym to eliminate Gotype ref X-Git-Tag: go1.15beta1~270^2^2~7 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=0612e78f0f9b5381b8690891a91fd05b450a0a91;p=gostls13.git [dev.link] cmd/link: tweak genasmsym to eliminate Gotype ref None of the users of genasmsym are doing anything with the Gotype field of sym.Symbol, so remove that param from the callback function. Change-Id: Ie902c4cdbcc6b68d353daf5ce21a99012161a946 Reviewed-on: https://go-review.googlesource.com/c/go/+/230545 Run-TryBot: Than McIntosh TryBot-Result: Gobot Gobot Reviewed-by: Cherry Zhang --- diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go index 57b9e8cb24..9d0ccae719 100644 --- a/src/cmd/link/internal/ld/lib.go +++ b/src/cmd/link/internal/ld/lib.go @@ -2493,7 +2493,7 @@ const ( DeletedAutoSym = 'x' ) -func genasmsym(ctxt *Link, put func(*Link, *sym.Symbol, string, SymbolType, int64, *sym.Symbol)) { +func genasmsym(ctxt *Link, put func(*Link, *sym.Symbol, string, SymbolType, int64)) { // These symbols won't show up in the first loop below because we // skip sym.STEXT symbols. Normal sym.STEXT symbols are emitted by walking textp. s := ctxt.Syms.Lookup("runtime.text", 0) @@ -2503,7 +2503,7 @@ func genasmsym(ctxt *Link, put func(*Link, *sym.Symbol, string, SymbolType, int6 // on AIX with external linker. // See data.go:/textaddress if !(ctxt.DynlinkingGo() && ctxt.HeadType == objabi.Hdarwin) && !(ctxt.HeadType == objabi.Haix && ctxt.LinkMode == LinkExternal) { - put(ctxt, s, s.Name, TextSym, s.Value, nil) + put(ctxt, s, s.Name, TextSym, s.Value) } } @@ -2524,7 +2524,7 @@ func genasmsym(ctxt *Link, put func(*Link, *sym.Symbol, string, SymbolType, int6 break } if s.Type == sym.STEXT { - put(ctxt, s, s.Name, TextSym, s.Value, nil) + put(ctxt, s, s.Name, TextSym, s.Value) } n++ } @@ -2536,7 +2536,7 @@ func genasmsym(ctxt *Link, put func(*Link, *sym.Symbol, string, SymbolType, int6 // on AIX with external linker. // See data.go:/textaddress if !(ctxt.DynlinkingGo() && ctxt.HeadType == objabi.Hdarwin) && !(ctxt.HeadType == objabi.Haix && ctxt.LinkMode == LinkExternal) { - put(ctxt, s, s.Name, TextSym, s.Value, nil) + put(ctxt, s, s.Name, TextSym, s.Value) } } @@ -2589,7 +2589,7 @@ func genasmsym(ctxt *Link, put func(*Link, *sym.Symbol, string, SymbolType, int6 if !s.Attr.Reachable() { continue } - put(ctxt, s, s.Name, DataSym, Symaddr(s), s.Gotype) + put(ctxt, s, s.Name, DataSym, Symaddr(s)) case sym.SBSS, sym.SNOPTRBSS, sym.SLIBFUZZER_EXTRA_COUNTER: if !s.Attr.Reachable() { @@ -2598,11 +2598,11 @@ func genasmsym(ctxt *Link, put func(*Link, *sym.Symbol, string, SymbolType, int6 if len(s.P) > 0 { Errorf(s, "should not be bss (size=%d type=%v special=%v)", len(s.P), s.Type, s.Attr.Special()) } - put(ctxt, s, s.Name, BSSSym, Symaddr(s), s.Gotype) + put(ctxt, s, s.Name, BSSSym, Symaddr(s)) case sym.SUNDEFEXT: if ctxt.HeadType == objabi.Hwindows || ctxt.HeadType == objabi.Haix || ctxt.IsELF { - put(ctxt, s, s.Name, UndefinedSym, s.Value, nil) + put(ctxt, s, s.Name, UndefinedSym, s.Value) } case sym.SHOSTOBJ: @@ -2610,24 +2610,24 @@ func genasmsym(ctxt *Link, put func(*Link, *sym.Symbol, string, SymbolType, int6 continue } if ctxt.HeadType == objabi.Hwindows || ctxt.IsELF { - put(ctxt, s, s.Name, UndefinedSym, s.Value, nil) + put(ctxt, s, s.Name, UndefinedSym, s.Value) } case sym.SDYNIMPORT: if !s.Attr.Reachable() { continue } - put(ctxt, s, s.Extname(), UndefinedSym, 0, nil) + put(ctxt, s, s.Extname(), UndefinedSym, 0) case sym.STLSBSS: if ctxt.LinkMode == LinkExternal { - put(ctxt, s, s.Name, TLSSym, Symaddr(s), s.Gotype) + put(ctxt, s, s.Name, TLSSym, Symaddr(s)) } } } for _, s := range ctxt.Textp { - put(ctxt, s, s.Name, TextSym, s.Value, s.Gotype) + put(ctxt, s, s.Name, TextSym, s.Value) } if ctxt.Debugvlog != 0 || *flagN { diff --git a/src/cmd/link/internal/ld/pe.go b/src/cmd/link/internal/ld/pe.go index fda5590700..547200fbee 100644 --- a/src/cmd/link/internal/ld/pe.go +++ b/src/cmd/link/internal/ld/pe.go @@ -646,7 +646,7 @@ func (f *peFile) mapToPESection(s *sym.Symbol, linkmode LinkMode) (pesectidx int // writeSymbols writes all COFF symbol table records. func (f *peFile) writeSymbols(ctxt *Link) { - put := func(ctxt *Link, s *sym.Symbol, name string, type_ SymbolType, addr int64, gotype *sym.Symbol) { + put := func(ctxt *Link, s *sym.Symbol, name string, type_ SymbolType, addr int64) { if s == nil { return } diff --git a/src/cmd/link/internal/ld/symtab.go b/src/cmd/link/internal/ld/symtab.go index 5954176b1c..1d7ec895dc 100644 --- a/src/cmd/link/internal/ld/symtab.go +++ b/src/cmd/link/internal/ld/symtab.go @@ -74,7 +74,7 @@ func putelfsyment(out *OutBuf, off int, addr int64, size int64, info int, shndx } } -func putelfsym(ctxt *Link, x *sym.Symbol, s string, t SymbolType, addr int64, go_ *sym.Symbol) { +func putelfsym(ctxt *Link, x *sym.Symbol, s string, t SymbolType, addr int64) { var typ int switch t { @@ -224,7 +224,7 @@ func Asmelfsym(ctxt *Link) { genasmsym(ctxt, putelfsym) } -func putplan9sym(ctxt *Link, x *sym.Symbol, s string, typ SymbolType, addr int64, go_ *sym.Symbol) { +func putplan9sym(ctxt *Link, x *sym.Symbol, s string, typ SymbolType, addr int64) { t := int(typ) switch typ { case TextSym, DataSym, BSSSym: diff --git a/src/cmd/link/internal/ld/xcoff.go b/src/cmd/link/internal/ld/xcoff.go index c9c6507f1c..6fd08d2dde 100644 --- a/src/cmd/link/internal/ld/xcoff.go +++ b/src/cmd/link/internal/ld/xcoff.go @@ -855,7 +855,7 @@ func (f *xcoffFile) writeSymbolFunc(ctxt *Link, x *sym.Symbol) []xcoffSym { } // put function used by genasmsym to write symbol table -func putaixsym(ctxt *Link, x *sym.Symbol, str string, t SymbolType, addr int64, go_ *sym.Symbol) { +func putaixsym(ctxt *Link, x *sym.Symbol, str string, t SymbolType, addr int64) { // All XCOFF symbols generated by this GO symbols // Can be a symbol entry or a auxiliary entry