From: Joel Sing Date: Mon, 7 Dec 2020 17:21:33 +0000 (+1100) Subject: runtime: correct sigfwd on openbsd/mips64 X-Git-Tag: go1.16beta1~68 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=9c91cab0da;p=gostls13.git runtime: correct sigfwd on openbsd/mips64 Position independent code expects that R25 (aka $t9) contains the address of the called function. As such, use R25 when calling from sigfwd. Change-Id: I66b2b9bfa1f1bb983c7385eb2eaa19d9cd87d9fb Reviewed-on: https://go-review.googlesource.com/c/go/+/275893 Trust: Joel Sing Reviewed-by: Cherry Zhang --- diff --git a/src/runtime/sys_openbsd_mips64.s b/src/runtime/sys_openbsd_mips64.s index 57a5dbd40e..3e4d209081 100644 --- a/src/runtime/sys_openbsd_mips64.s +++ b/src/runtime/sys_openbsd_mips64.s @@ -244,8 +244,8 @@ TEXT runtime·sigfwd(SB),NOSPLIT,$0-32 MOVW sig+8(FP), R4 MOVV info+16(FP), R5 MOVV ctx+24(FP), R6 - MOVV fn+0(FP), R7 - CALL (R7) // Alignment for ELF ABI? + MOVV fn+0(FP), R25 // Must use R25, needed for PIC code. + CALL (R25) RET TEXT runtime·sigtramp(SB),NOSPLIT,$192