]> Cypherpunks repositories - gostls13.git/commitdiff
[release-branch.go1.19] runtime: fix ppc64 startup on newer linux kernels
authorPaul E. Murphy <murp@ibm.com>
Fri, 19 Aug 2022 14:20:02 +0000 (09:20 -0500)
committerHeschi Kreinick <heschi@google.com>
Wed, 31 Aug 2022 16:31:23 +0000 (16:31 +0000)
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>
src/runtime/rt0_linux_ppc64.s

index 897d61052a823c797d74f5baf00741a55ec29991..c9300a9caf602f8b3863b0b15e621ddfe4fe0955 100644 (file)
@@ -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