1
0
mirror of https://github.com/golang/go synced 2024-11-05 15:06:09 -07:00

[dev.link] cmd/link: stop overwriting symbol types in loadlibfull

symGroupType was needed for dodata. Now that we have converted
dodata to using the loader, stop overwriting it.

Change-Id: Ie94109c0b35dd2f71a19ebb38f8cf20b6a37c624
Reviewed-on: https://go-review.googlesource.com/c/go/+/229994
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
This commit is contained in:
Cherry Zhang 2020-04-25 17:27:34 -04:00
parent 98e3fdab3e
commit b6df7e555e
2 changed files with 2 additions and 16 deletions

View File

@ -2824,7 +2824,7 @@ func addToTextp(ctxt *Link) {
ctxt.Textp = textp ctxt.Textp = textp
} }
func (ctxt *Link) loadlibfull(symGroupType []sym.SymKind) { func (ctxt *Link) loadlibfull() {
// Load full symbol contents, resolve indexed references. // Load full symbol contents, resolve indexed references.
ctxt.loader.LoadFull(ctxt.Arch, ctxt.Syms) ctxt.loader.LoadFull(ctxt.Arch, ctxt.Syms)
@ -2890,20 +2890,6 @@ func (ctxt *Link) loadlibfull(symGroupType []sym.SymKind) {
} }
} }
// For now, overwrite symbol type with its "group" type, as dodata
// expected. Once we converted dodata, this will probably not be
// needed.
for i, t := range symGroupType {
if t != sym.Sxxx {
s := ctxt.loader.Syms[i]
if s == nil {
panic(fmt.Sprintf("nil sym for symGroupType t=%s entry %d", t.String(), i))
}
s.Type = t
}
}
symGroupType = nil
if ctxt.Debugvlog > 1 { if ctxt.Debugvlog > 1 {
// loadlibfull is likely a good place to dump. // loadlibfull is likely a good place to dump.
// Only dump under -v=2 and above. // Only dump under -v=2 and above.

View File

@ -301,7 +301,7 @@ func Main(arch *sys.Arch, theArch Arch) {
bench.Start("dodata") bench.Start("dodata")
ctxt.dodata2(symGroupType) ctxt.dodata2(symGroupType)
bench.Start("loadlibfull") bench.Start("loadlibfull")
ctxt.loadlibfull(symGroupType) // XXX do it here for now ctxt.loadlibfull() // XXX do it here for now
bench.Start("address") bench.Start("address")
order := ctxt.address() order := ctxt.address()
bench.Start("dwarfcompress") bench.Start("dwarfcompress")