diff options
author | Cherry Mui <cherryyz@google.com> | 2024-02-16 10:58:56 -0500 |
---|---|---|
committer | Carlos Amedee <carlos@golang.org> | 2024-02-27 21:22:26 +0000 |
commit | 8fe2ad6494840553c20565edc42435e99718eb41 (patch) | |
tree | 2420c7edafeb4c7aa74616fa9f588d818e0886d1 | |
parent | 686662f3a461b0bfa585a106ef585220a2a85014 (diff) | |
download | go-8fe2ad6494840553c20565edc42435e99718eb41.tar.gz go-8fe2ad6494840553c20565edc42435e99718eb41.zip |
[release-branch.go1.22] runtime/internal/atomic: correct GOARM=7 guard at a DMB instruction
CL 525637 changed to the guard of DMB instruction from the
compiled-in runtime.goarm value to GOARM_7 macro and CPU feature
detection. It missed a place where runtime.goarm is loaded to a
register and reused later. This CL corrects the condition.
Updates #65601.
Fixes #65760.
Change-Id: I2ddefd03a1eb1048dbec0254c6e234c65b054279
Reviewed-on: https://go-review.googlesource.com/c/go/+/564855
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
(cherry picked from commit a0226c5680f3ce6b0d8a8341f8c69611f3008393)
Reviewed-on: https://go-review.googlesource.com/c/go/+/567555
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
TryBot-Bypass: Carlos Amedee <carlos@golang.org>
-rw-r--r-- | src/runtime/internal/atomic/atomic_arm.s | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/runtime/internal/atomic/atomic_arm.s b/src/runtime/internal/atomic/atomic_arm.s index 662b5987f2..1cf7d8f6ef 100644 --- a/src/runtime/internal/atomic/atomic_arm.s +++ b/src/runtime/internal/atomic/atomic_arm.s @@ -41,8 +41,10 @@ casl: BNE casl MOVW $1, R0 - CMP $7, R8 - BLT 2(PC) +#ifndef GOARM_7 + CMP $0, R11 + BEQ 2(PC) +#endif DMB MB_ISH MOVB R0, ret+12(FP) |