diff options
Diffstat (limited to 'src/pkg/runtime/asm_amd64.s')
-rw-r--r-- | src/pkg/runtime/asm_amd64.s | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/pkg/runtime/asm_amd64.s b/src/pkg/runtime/asm_amd64.s index 80c2ab3c5..9103ef29e 100644 --- a/src/pkg/runtime/asm_amd64.s +++ b/src/pkg/runtime/asm_amd64.s @@ -226,7 +226,12 @@ oncurg: // switch to g0 MOVQ DX, g(CX) - MOVQ (g_sched+gobuf_sp)(DX), SP + MOVQ (g_sched+gobuf_sp)(DX), BX + // make it look like mstart called onM on g0, to stop traceback + SUBQ $8, BX + MOVQ $runtime·mstart(SB), DX + MOVQ DX, 0(BX) + MOVQ BX, SP // call target function ARGSIZE(0) |