[dev.link] cmd/link: add Target and ArchSyms to arch functions

Change-Id: Iab9e5bd8115e81a10067e44397cbe34addda1b63
Reviewed-on: https://go-review.googlesource.com/c/go/+/222064
Run-TryBot: Jeremy Faller <jeremy@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
This commit is contained in:
Jeremy Faller 2020-03-04 15:27:47 -05:00
parent a3873ab49f
commit cb4c84bd9a
12 changed files with 32 additions and 30 deletions

View file

@ -167,7 +167,7 @@ func gentext(ctxt *ld.Link) {
initarray_entry.AddAddr(ctxt.Arch, initfunc)
}
func adddynrel(ctxt *ld.Link, s *sym.Symbol, r *sym.Reloc) bool {
func adddynrel(ctxt *ld.Link, target *ld.Target, syms *ld.ArchSyms, s *sym.Symbol, r *sym.Reloc) bool {
targ := r.Sym
switch r.Type {
@ -511,7 +511,7 @@ func archrelocvariant(target *ld.Target, syms *ld.ArchSyms, r *sym.Reloc, s *sym
return t
}
func elfsetupplt(ctxt *ld.Link) {
func elfsetupplt(ctxt *ld.Link, target *ld.Target, syms *ld.ArchSyms) {
plt := ctxt.Syms.Lookup(".plt", 0)
got := ctxt.Syms.Lookup(".got.plt", 0)
if plt.Size == 0 {
@ -550,7 +550,7 @@ func addpltsym(ctxt *ld.Link, s *sym.Symbol) {
got := ctxt.Syms.Lookup(".got.plt", 0)
rel := ctxt.Syms.Lookup(".rel.plt", 0)
if plt.Size == 0 {
elfsetupplt(ctxt)
elfsetupplt(ctxt, &ctxt.Target, &ctxt.ArchSyms)
}
// jmpq *got+size