Skip to content

Commit 61fc5df

Browse files
abner-chenclimeidan
authored andcommitted
runtime: add missing {TOPFRAME,NOFRAME} flag for linux/loong64
Co-authored-by: limeidan <[email protected]> Change-Id: I0011a10f831e6c2b0da96265682212b0747f0e2a Reviewed-on: https://go-review.googlesource.com/c/go/+/407774 Reviewed-by: Cherry Mui <[email protected]> Reviewed-by: David Chase <[email protected]> TryBot-Result: Gopher Robot <[email protected]> Reviewed-by: WANG Xuerui <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> Run-TryBot: Ian Lance Taylor <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]>
1 parent 654b031 commit 61fc5df

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/runtime/asm_loong64.s

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
#define REGCTXT R29
1111

12-
TEXT runtime·rt0_go(SB),NOSPLIT,$0
12+
TEXT runtime·rt0_go(SB),NOSPLIT|TOPFRAME,$0
1313
// R3 = stack; R4 = argc; R5 = argv
1414

1515
ADDV $-24, R3
@@ -107,12 +107,16 @@ TEXT runtime·gosave(SB), NOSPLIT|NOFRAME, $0-8
107107

108108
// void gogo(Gobuf*)
109109
// restore state from Gobuf; longjmp
110-
TEXT runtime·gogo(SB), NOSPLIT, $16-8
110+
TEXT runtime·gogo(SB), NOSPLIT|NOFRAME, $0-8
111111
MOVV buf+0(FP), R4
112-
MOVV gobuf_g(R4), g // make sure g is not nil
112+
MOVV gobuf_g(R4), R5
113+
MOVV 0(R5), R0 // make sure g != nil
114+
JMP gogo<>(SB)
115+
116+
TEXT gogo<>(SB), NOSPLIT|NOFRAME, $0
117+
MOVV R5, g
113118
JAL runtime·save_g(SB)
114119

115-
MOVV 0(g), R5
116120
MOVV gobuf_sp(R4), R3
117121
MOVV gobuf_lr(R4), R1
118122
MOVV gobuf_ret(R4), R19

0 commit comments

Comments
 (0)