aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2017-05-24 15:01:49 -0700
committerIan Lance Taylor <iant@golang.org>2017-05-24 22:28:33 +0000
commitdaa0ddde931f1c08bffe86c7a67787d0c756993e (patch)
tree887e14bec6d52227c517af04b2aaf416ae34668f /src
parent994b7eebc7e704b7132e5a69be72ca885b30b83e (diff)
downloadgo-daa0ddde931f1c08bffe86c7a67787d0c756993e.tar.xz
runtime: fix ppc64le c-archive init
We weren't setting r0 to 0, as required by our generated code. Before this patch, the misc/cgo/testcarchive tests failed on ppc64le. After this patch, they work, so enable them. Change-Id: I53b16746961da9f7c34f59030a1e40953c9c1e05 Reviewed-on: https://go-review.googlesource.com/44093 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/dist/test.go3
-rw-r--r--src/runtime/rt0_linux_ppc64le.s3
2 files changed, 5 insertions, 1 deletions
diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go
index fc2b58a082..b56495e723 100644
--- a/src/cmd/dist/test.go
+++ b/src/cmd/dist/test.go
@@ -772,7 +772,8 @@ func (t *tester) supportedBuildmode(mode string) bool {
}
switch pair {
case "darwin-386", "darwin-amd64", "darwin-arm", "darwin-arm64",
- "linux-amd64", "linux-386", "windows-amd64", "windows-386":
+ "linux-amd64", "linux-386", "linux-ppc64le",
+ "windows-amd64", "windows-386":
return true
}
return false
diff --git a/src/runtime/rt0_linux_ppc64le.s b/src/runtime/rt0_linux_ppc64le.s
index 2c5541357f..bcbc9c7b31 100644
--- a/src/runtime/rt0_linux_ppc64le.s
+++ b/src/runtime/rt0_linux_ppc64le.s
@@ -53,6 +53,9 @@ TEXT _rt0_ppc64le_linux_lib(SB),NOSPLIT,$-8
MOVD R4, _rt0_ppc64le_linux_lib_argv<>(SB)
// Synchronous initialization.
+ MOVD $runtime·reginit(SB), R12
+ MOVD R12, CTR
+ BL (CTR)
MOVD $runtime·libpreinit(SB), R12
MOVD R12, CTR
BL (CTR)