From 025bca87462aa549c97dbd28387604ca50963ede Mon Sep 17 00:00:00 2001 From: Cherry Zhang Date: Wed, 15 Apr 2020 23:11:52 -0400 Subject: [PATCH] [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 --- src/cmd/link/internal/ppc64/asm.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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 { -- 2.48.1