]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: mark race functions on s390x as ABIInternal
authorSrinivas Pokala <Pokala.Srinivas@ibm.com>
Tue, 11 Nov 2025 03:57:22 +0000 (04:57 +0100)
committerKeith Randall <khr@golang.org>
Mon, 24 Nov 2025 18:21:56 +0000 (10:21 -0800)
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>

src/runtime/race_s390x.s

index 3dfda9e733b09d915d4060a1ac4ae2cf1bc27e62..d5a0bbedace4c593ddcbd41db0050eef464ce3b3 100644 (file)
 
 // 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)