aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Randall <khr@golang.org>2025-07-19 09:34:04 -0700
committerGopher Robot <gobot@golang.org>2025-07-21 10:01:15 -0700
commit5dac42363ba8281a3f4f08e03af2292b763adc38 (patch)
tree59263a812ed9a397e0db9d8c37f99c003b043449
parente5502e0959bb54ec70ca500e8d2b6f5ac5efbc53 (diff)
downloadgo-5dac42363ba8281a3f4f08e03af2292b763adc38.tar.xz
runtime: fix asan wrapper for riscv64
Make sure we keep the M in X21. The instruction at line 87 needs to be loading from the M, not from the gsignal. Fixes #73979, maybe? Change-Id: I3aba1c35454636138b305bca26e20dbc8e6b1d6e Reviewed-on: https://go-review.googlesource.com/c/go/+/688975 Reviewed-by: Joel Sing <joel@sing.id.au> Reviewed-by: Michael Pratt <mpratt@google.com> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Meng Zhuo <mengzhuo1203@gmail.com> Reviewed-by: Mark Ryan <markdryan@rivosinc.com> Auto-Submit: Keith Randall <khr@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
-rw-r--r--src/runtime/asan_riscv64.s10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/runtime/asan_riscv64.s b/src/runtime/asan_riscv64.s
index eb76e61ffb..5a333361dd 100644
--- a/src/runtime/asan_riscv64.s
+++ b/src/runtime/asan_riscv64.s
@@ -81,13 +81,13 @@ TEXT asancall<>(SB), NOSPLIT, $0-0
MOV g_m(g), X21
// Switch to g0 stack if we aren't already on g0 or gsignal.
- MOV m_gsignal(X21), X21
- BEQ X21, g, call
+ MOV m_gsignal(X21), X22
+ BEQ X22, g, call
- MOV m_g0(X21), X21
- BEQ X21, g, call
+ MOV m_g0(X21), X22
+ BEQ X22, g, call
- MOV (g_sched+gobuf_sp)(X21), X2
+ MOV (g_sched+gobuf_sp)(X22), X2
call:
JALR RA, X14