mirror of
https://github.com/golang/go.git
synced 2025-05-14 11:54:38 +00:00
Revert "[dev.link] cmd/link: stop overwriting symbol types in loadlibfull"
This reverts CL 229994. Reason for revert: break AIX build. This is nice to have but isn't critical. We can revisit later. Change-Id: Ifc56a0a4c0fb36859cf7666ab149e25e0e5d4cc0 Reviewed-on: https://go-review.googlesource.com/c/go/+/230459 Run-TryBot: Cherry Zhang <cherryyz@google.com> Reviewed-by: Than McIntosh <thanm@google.com>
This commit is contained in:
parent
8e7ddac52d
commit
b85a03ccc2
@ -2824,7 +2824,7 @@ func addToTextp(ctxt *Link) {
|
||||
ctxt.Textp = textp
|
||||
}
|
||||
|
||||
func (ctxt *Link) loadlibfull() {
|
||||
func (ctxt *Link) loadlibfull(symGroupType []sym.SymKind) {
|
||||
|
||||
// Load full symbol contents, resolve indexed references.
|
||||
ctxt.loader.LoadFull(ctxt.Arch, ctxt.Syms)
|
||||
@ -2890,6 +2890,20 @@ func (ctxt *Link) loadlibfull() {
|
||||
}
|
||||
}
|
||||
|
||||
// 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.
|
||||
|
@ -301,7 +301,7 @@ func Main(arch *sys.Arch, theArch Arch) {
|
||||
bench.Start("dodata")
|
||||
ctxt.dodata2(symGroupType)
|
||||
bench.Start("loadlibfull")
|
||||
ctxt.loadlibfull() // XXX do it here for now
|
||||
ctxt.loadlibfull(symGroupType) // XXX do it here for now
|
||||
bench.Start("address")
|
||||
order := ctxt.address()
|
||||
bench.Start("dwarfcompress")
|
||||
|
Loading…
x
Reference in New Issue
Block a user