aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul E. Murphy <murp@ibm.com>2022-08-19 09:20:02 -0500
committerHeschi Kreinick <heschi@google.com>2022-08-31 16:31:23 +0000
commit823e5d8afaaf9fff0cc2ab04e7fc0a62b1023c3e (patch)
tree68348382e520b94dce1332cc99fc987cfdbbad2d
parent11033eac90c14a2d4768deb42601767c800ddef0 (diff)
downloadgo-823e5d8afaaf9fff0cc2ab04e7fc0a62b1023c3e.tar.gz
go-823e5d8afaaf9fff0cc2ab04e7fc0a62b1023c3e.zip
[release-branch.go1.19] runtime: fix ppc64 startup on newer linux kernels
R0 needs to be cleared at startup as it may not always be cleared by the kernel on newer kernels. Fixes #54665 Change-Id: Id7055699aaa8d8b193b7e3e784f075ce29ac3f1d Reviewed-on: https://go-review.googlesource.com/c/go/+/424927 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: David Chase <drchase@google.com> Run-TryBot: Paul Murphy <murp@ibm.com> Reviewed-on: https://go-review.googlesource.com/c/go/+/425394 Reviewed-by: Ian Lance Taylor <iant@google.com>
-rw-r--r--src/runtime/rt0_linux_ppc64.s1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/runtime/rt0_linux_ppc64.s b/src/runtime/rt0_linux_ppc64.s
index 897d61052a..c9300a9caf 100644
--- a/src/runtime/rt0_linux_ppc64.s
+++ b/src/runtime/rt0_linux_ppc64.s
@@ -22,6 +22,7 @@ TEXT _main<>(SB),NOSPLIT,$-8
// There is no TLS base pointer.
//
// TODO(austin): Support ABI v1 dynamic linking entry point
+ XOR R0, R0 // Note, newer kernels may not always set R0 to 0.
MOVD $runtime·rt0_go(SB), R12
MOVD R12, CTR
MOVBZ runtime·iscgo(SB), R5