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>
This commit is contained in:
Srinivas Pokala
2025-11-11 04:57:22 +01:00
committed by Keith Randall
parent 41af98eb83
commit e92d2964fa

View File

@@ -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)