From: Cherry Zhang Date: Thu, 16 Apr 2020 03:11:52 +0000 (-0400) Subject: [dev.link] cmd/link: fix trampoline generation on AIX X-Git-Tag: go1.15beta1~401^2^2~30 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=025bca87462aa549c97dbd28387604ca50963ede;p=gostls13.git [dev.link] cmd/link: fix trampoline generation on AIX The addend should be applied to the target symbol, not the TOC symbol. Change-Id: I0a14873cdcafc4ede401878882646dade9cd8e3b Reviewed-on: https://go-review.googlesource.com/c/go/+/228479 Run-TryBot: Cherry Zhang TryBot-Result: Gobot Gobot Reviewed-by: Than McIntosh --- diff --git a/src/cmd/link/internal/ppc64/asm.go b/src/cmd/link/internal/ppc64/asm.go index d6b6c76f9a..d86738538d 100644 --- a/src/cmd/link/internal/ppc64/asm.go +++ b/src/cmd/link/internal/ppc64/asm.go @@ -733,14 +733,13 @@ func gentramp(ctxt *ld.Link, ldr *loader.Loader, tramp *loader.SymbolBuilder, ta toctramp := ldr.CreateSymForUpdate("TOC."+ldr.SymName(tramp.Sym()), 0) toctramp.SetType(sym.SXCOFFTOC) toctramp.SetReachable(true) - toctramp.AddAddr(ctxt.Arch, target) + toctramp.AddAddrPlus(ctxt.Arch, target, offset) r := loader.Reloc{ Off: 0, Type: objabi.R_ADDRPOWER_TOCREL_DS, Size: 8, // generates 2 relocations: HA + LO Sym: toctramp.Sym(), - Add: offset, } tramp.AddReloc(r) } else {