diff options
author | Paul E. Murphy <murp@ibm.com> | 2022-08-19 09:20:02 -0500 |
---|---|---|
committer | Heschi Kreinick <heschi@google.com> | 2022-08-31 16:31:19 +0000 |
commit | da8a3502014c8edf84492267cba1bfdd8e313b3e (patch) | |
tree | 281987b75f9992249fbeb8de1b3add7dcb61e0c9 | |
parent | d2d59299a29a93abfc88917c0995f7bc04ced9d5 (diff) | |
download | go-da8a3502014c8edf84492267cba1bfdd8e313b3e.tar.gz go-da8a3502014c8edf84492267cba1bfdd8e313b3e.zip |
[release-branch.go1.18] 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 #54664
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/+/425369
Reviewed-by: Ian Lance Taylor <iant@google.com>
-rw-r--r-- | src/runtime/rt0_linux_ppc64.s | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/runtime/rt0_linux_ppc64.s b/src/runtime/rt0_linux_ppc64.s index 897d61052a8..c9300a9caf6 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 |