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
|
ctxt.Textp = textp
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ctxt *Link) loadlibfull() {
|
func (ctxt *Link) loadlibfull(symGroupType []sym.SymKind) {
|
||||||
|
|
||||||
// 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,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 {
|
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.
|
||||||
|
@ -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() // XXX do it here for now
|
ctxt.loadlibfull(symGroupType) // XXX do it here for now
|
||||||
bench.Start("address")
|
bench.Start("address")
|
||||||
order := ctxt.address()
|
order := ctxt.address()
|
||||||
bench.Start("dwarfcompress")
|
bench.Start("dwarfcompress")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user