From b6df7e555ec1e1f813cda0d250cd109533e6d4e5 Mon Sep 17 00:00:00 2001 From: Cherry Zhang Date: Sat, 25 Apr 2020 17:27:34 -0400 Subject: [PATCH] [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 TryBot-Result: Gobot Gobot Reviewed-by: Than McIntosh --- src/cmd/link/internal/ld/lib.go | 16 +--------------- src/cmd/link/internal/ld/main.go | 2 +- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go index a43aff22ee..96e3e8870c 100644 --- a/src/cmd/link/internal/ld/lib.go +++ b/src/cmd/link/internal/ld/lib.go @@ -2824,7 +2824,7 @@ func addToTextp(ctxt *Link) { ctxt.Textp = textp } -func (ctxt *Link) loadlibfull(symGroupType []sym.SymKind) { +func (ctxt *Link) loadlibfull() { // Load full symbol contents, resolve indexed references. 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 { // loadlibfull is likely a good place to dump. // Only dump under -v=2 and above. diff --git a/src/cmd/link/internal/ld/main.go b/src/cmd/link/internal/ld/main.go index bbd6f1c663..6bcf274215 100644 --- a/src/cmd/link/internal/ld/main.go +++ b/src/cmd/link/internal/ld/main.go @@ -301,7 +301,7 @@ func Main(arch *sys.Arch, theArch Arch) { bench.Start("dodata") ctxt.dodata2(symGroupType) bench.Start("loadlibfull") - ctxt.loadlibfull(symGroupType) // XXX do it here for now + ctxt.loadlibfull() // XXX do it here for now bench.Start("address") order := ctxt.address() bench.Start("dwarfcompress")