aboutsummaryrefslogtreecommitdiff
path: root/src/runtime
diff options
context:
space:
mode:
authorSrinivas Pokala <Pokala.Srinivas@ibm.com>2025-11-11 04:57:22 +0100
committerKeith Randall <khr@golang.org>2025-11-24 10:21:56 -0800
commite92d2964fa5beb678ecd97036eb732c9f885cf63 (patch)
treee18810635c8d34aea45d189e23e2a12eecb6ffaa /src/runtime
parent41af98eb83bfa66077ed5a90e64f31b92be33ac6 (diff)
downloadgo-e92d2964fa5beb678ecd97036eb732c9f885cf63.tar.xz
runtime: mark race functions on s390x as ABIInternal
This adds ABIInternal to the race function declarations. Update #40724 Change-Id: I827f94fa08240a17a4107a39bca6b4e279dc2530 Reviewed-on: https://go-review.googlesource.com/c/go/+/719422 Reviewed-by: Michael Pratt <mpratt@google.com> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Vishwanatha HD <vishwanatha.hd@ibm.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Diffstat (limited to 'src/runtime')
-rw-r--r--src/runtime/race_s390x.s26
1 files changed, 22 insertions, 4 deletions
diff --git a/src/runtime/race_s390x.s b/src/runtime/race_s390x.s
index 3dfda9e733..d5a0bbedac 100644
--- a/src/runtime/race_s390x.s
+++ b/src/runtime/race_s390x.s
@@ -25,10 +25,14 @@
// func runtime·raceread(addr uintptr)
// Called from instrumented code.
-TEXT runtime·raceread(SB), NOSPLIT, $0-8
+TEXT runtime·raceread<ABIInternal>(SB), NOSPLIT, $0-8
// void __tsan_read(ThreadState *thr, void *addr, void *pc);
MOVD $__tsan_read(SB), R1
+#ifndef GOEXPERIMENT_regabiargs
MOVD addr+0(FP), R3
+#else
+ MOVD R2, R3
+#endif
MOVD R14, R4
JMP racecalladdr<>(SB)
@@ -46,10 +50,14 @@ TEXT runtime·racereadpc(SB), NOSPLIT, $0-24
// func runtime·racewrite(addr uintptr)
// Called from instrumented code.
-TEXT runtime·racewrite(SB), NOSPLIT, $0-8
+TEXT runtime·racewrite<ABIInternal>(SB), NOSPLIT, $0-8
// void __tsan_write(ThreadState *thr, void *addr, void *pc);
MOVD $__tsan_write(SB), R1
+#ifndef GOEXPERIMENT_regabiargs
MOVD addr+0(FP), R3
+#else
+ MOVD R2, R3
+#endif
MOVD R14, R4
JMP racecalladdr<>(SB)
@@ -67,10 +75,15 @@ TEXT runtime·racewritepc(SB), NOSPLIT, $0-24
// func runtime·racereadrange(addr, size uintptr)
// Called from instrumented code.
-TEXT runtime·racereadrange(SB), NOSPLIT, $0-16
+TEXT runtime·racereadrange<ABIInternal>(SB), NOSPLIT, $0-16
// void __tsan_read_range(ThreadState *thr, void *addr, uintptr size, void *pc);
MOVD $__tsan_read_range(SB), R1
+#ifndef GOEXPERIMENT_regabiargs
LMG addr+0(FP), R3, R4
+#else
+ MOVD R3, R4
+ MOVD R2, R3
+#endif
MOVD R14, R5
JMP racecalladdr<>(SB)
@@ -91,10 +104,15 @@ TEXT runtime·racereadrangepc1(SB), NOSPLIT, $0-24
// func runtime·racewriterange(addr, size uintptr)
// Called from instrumented code.
-TEXT runtime·racewriterange(SB), NOSPLIT, $0-16
+TEXT runtime·racewriterange<ABIInternal>(SB), NOSPLIT, $0-16
// void __tsan_write_range(ThreadState *thr, void *addr, uintptr size, void *pc);
MOVD $__tsan_write_range(SB), R1
+#ifndef GOEXPERIMENT_regabiargs
LMG addr+0(FP), R3, R4
+#else
+ MOVD R3, R4
+ MOVD R2, R3
+#endif
MOVD R14, R5
JMP racecalladdr<>(SB)