func elfadddynsym2(ldr *loader.Loader, target *Target, syms *ArchSyms, s loader.Sym) {
ldr.SetSymDynid(s, int32(Nelfsym))
- // temporary until wafefront moves past addexport
- ldr.Syms[s].Dynid = ldr.SymDynid(s)
Nelfsym++
d := ldr.MakeSymbolUpdater(syms.DynSym2)
name := ldr.SymExtname(s)
}
su := ctxt.loader.MakeSymbolUpdater(rs)
su.SetType(sym.SUNDEFEXT)
- // temporary until the wavefront moves past addexport
- ctxt.loader.Syms[rs].Type = sym.SUNDEFEXT
}
}
}
for _, lib := range dynlib {
adddynlib(ctxt, lib)
}
-
- // temporary until the wavefront moves past addexport:
- // copy any changes to loader.Sym symbols back into the sym.Symbol world.
- modified := []loader.Sym{ctxt.DynSym2, ctxt.Dynamic2, ctxt.DynStr2}
- ctxt.loader.PropagateLoaderChangesToSymbols(modified, 0)
}
type Pkg struct {
bench.Start("textbuildid")
ctxt.textbuildid()
-
- bench.Start("loadlibfull")
+ bench.Start("addexport")
setupdynexp(ctxt)
ctxt.setArchSyms(BeforeLoadlibFull)
+ ctxt.addexport()
+
+ bench.Start("loadlibfull")
ctxt.loadlibfull() // XXX do it here for now
- bench.Start("addexport")
- ctxt.addexport()
bench.Start("Gentext")
thearch.Gentext(ctxt) // trampolines, call stubs, etc.
bench.Start("textaddress")