aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/asm_ppc64x.s
diff options
context:
space:
mode:
authorClément Chigot <clement.chigot@atos.net>2019-02-20 16:16:38 +0100
committerIan Lance Taylor <iant@golang.org>2019-03-06 15:32:25 +0000
commit80f10965ee9f6063f587baffce9c1fa8fc80a5ba (patch)
tree822314736af480d9f1793616d7420e0073048c1b /src/runtime/asm_ppc64x.s
parent0ff0df8be3b2e532de6a18ba4040d2a7ebaee37f (diff)
downloadgo-80f10965ee9f6063f587baffce9c1fa8fc80a5ba.tar.gz
go-80f10965ee9f6063f587baffce9c1fa8fc80a5ba.zip
cmd/link, runtime: allow external linking for aix/ppc64
This commit adds external linking in cmd/link for aix/ppc64. As relocations on .text data aren't possible on AIX, Segrelrodata is used to move all these datas to .data section. Change-Id: I4d1361c1fc9290e11e6f5560864460c76551dbeb Reviewed-on: https://go-review.googlesource.com/c/go/+/164003 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/runtime/asm_ppc64x.s')
-rw-r--r--src/runtime/asm_ppc64x.s7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/runtime/asm_ppc64x.s b/src/runtime/asm_ppc64x.s
index a1d7ce103c..9b5da3db99 100644
--- a/src/runtime/asm_ppc64x.s
+++ b/src/runtime/asm_ppc64x.s
@@ -784,11 +784,18 @@ TEXT runtime·setg(SB), NOSPLIT, $0-8
RET
#ifdef GOARCH_ppc64
+#ifdef GOOS_aix
+DATA setg_gcc<>+0(SB)/8, $_setg_gcc<>(SB)
+DATA setg_gcc<>+8(SB)/8, $TOC(SB)
+DATA setg_gcc<>+16(SB)/8, $0
+GLOBL setg_gcc<>(SB), NOPTR, $24
+#else
TEXT setg_gcc<>(SB),NOSPLIT|NOFRAME,$0-0
DWORD $_setg_gcc<>(SB)
DWORD $0
DWORD $0
#endif
+#endif
// void setg_gcc(G*); set g in C TLS.
// Must obey the gcc calling convention.