aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/link/internal/ppc64/asm.go
diff options
context:
space:
mode:
authorCarlos Amedee <carlos@golang.org>2023-01-10 13:50:39 -0500
committerCarlos Amedee <carlos@golang.org>2023-01-10 13:50:39 -0500
commit7058c2cb4132291e1b6c9498a9a6f13a9a70ff85 (patch)
tree7701af5d953be20ade9ca141c562b3262c703716 /src/cmd/link/internal/ppc64/asm.go
parentfc1ed37e824b2f87e287e1bc4597253f1b30b3b3 (diff)
parent581603cb7d02019bbf4ff508014038f3120a3dcb (diff)
downloadgo-dev.boringcrypto.go1.18.tar.gz
go-dev.boringcrypto.go1.18.zip
[dev.boringcrypto.go1.18] all: merge go1.18.10 into dev.boringcrypto.go1.18dev.boringcrypto.go1.18
Change-Id: I0dcc4e288cba62382f6bd06b2cf0ff843309220c
Diffstat (limited to 'src/cmd/link/internal/ppc64/asm.go')
-rw-r--r--src/cmd/link/internal/ppc64/asm.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/cmd/link/internal/ppc64/asm.go b/src/cmd/link/internal/ppc64/asm.go
index 73c2718a33..879adaa965 100644
--- a/src/cmd/link/internal/ppc64/asm.go
+++ b/src/cmd/link/internal/ppc64/asm.go
@@ -809,8 +809,9 @@ func trampoline(ctxt *ld.Link, ldr *loader.Loader, ri int, rs, s loader.Sym) {
if ldr.SymValue(tramp) == 0 {
break
}
-
- t = ldr.SymValue(tramp) + r.Add() - (ldr.SymValue(s) + int64(r.Off()))
+ // Note, the trampoline is always called directly. The addend of the original relocation is accounted for in the
+ // trampoline itself.
+ t = ldr.SymValue(tramp) - (ldr.SymValue(s) + int64(r.Off()))
// With internal linking, the trampoline can be used if it is not too far.
// With external linking, the trampoline must be in this section for it to be reused.