29 lines
692 B
Text
29 lines
692 B
Text
Index: src/runtime/tls_riscv64.s
|
|
--- src/runtime/tls_riscv64.s.orig
|
|
+++ src/runtime/tls_riscv64.s
|
|
@@ -11,20 +11,16 @@
|
|
//
|
|
// NOTE: mcall() assumes this clobbers only X31 (REG_TMP).
|
|
TEXT runtime·save_g(SB),NOSPLIT|NOFRAME,$0-0
|
|
+#ifndef GOOS_openbsd
|
|
MOVB runtime·iscgo(SB), X31
|
|
- BEQ X0, X31, nocgo
|
|
-
|
|
- MOV runtime·tls_g(SB), X31
|
|
- ADD TP, X31 // add offset to thread pointer (X4)
|
|
- MOV g, (X31)
|
|
-
|
|
+ BEQZ X31, nocgo
|
|
+#endif
|
|
+ MOV g, runtime·tls_g(SB)
|
|
nocgo:
|
|
RET
|
|
|
|
TEXT runtime·load_g(SB),NOSPLIT|NOFRAME,$0-0
|
|
- MOV runtime·tls_g(SB), X31
|
|
- ADD TP, X31 // add offset to thread pointer (X4)
|
|
- MOV (X31), g
|
|
+ MOV runtime·tls_g(SB), g
|
|
RET
|
|
|
|
GLOBL runtime·tls_g(SB), TLSBSS, $8
|