From: Paul E. Murphy Date: Fri, 19 Aug 2022 14:20:02 +0000 (-0500) Subject: [release-branch.go1.18] runtime: fix ppc64 startup on newer linux kernels X-Git-Tag: go1.18.6~3 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=da8a3502014c8edf84492267cba1bfdd8e313b3e;p=gostls13.git [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 Reviewed-by: Lynn Boger Reviewed-by: Cherry Mui Reviewed-by: David Chase Run-TryBot: Paul Murphy Reviewed-on: https://go-review.googlesource.com/c/go/+/425369 Reviewed-by: Ian Lance Taylor --- 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