mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
[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:
parent
a3873ab49f
commit
cb4c84bd9a
12 changed files with 32 additions and 30 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue