aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2010-12-07 17:19:36 -0500
committerRuss Cox <rsc@golang.org>2010-12-07 17:19:36 -0500
commit7e14bd81f42ddab2dda331a3395ec36b3a299837 (patch)
treeabe3ee8c4497f92d24bd3d6cef87fe516fd67814
parent49014c5b12bd00817203c5ae5dbd4ec1c8f6d157 (diff)
downloadgo-7e14bd81f42ddab2dda331a3395ec36b3a299837.tar.gz
go-7e14bd81f42ddab2dda331a3395ec36b3a299837.zip
runtime: debugging help on 386
R=r CC=golang-dev https://golang.org/cl/3502041
-rw-r--r--src/pkg/runtime/386/asm.s4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/pkg/runtime/386/asm.s b/src/pkg/runtime/386/asm.s
index deb7b12f92..84f5367e51 100644
--- a/src/pkg/runtime/386/asm.s
+++ b/src/pkg/runtime/386/asm.s
@@ -177,7 +177,9 @@ TEXT runtime·morestack(SB),7,$0
// Call newstack on m's scheduling stack.
MOVL m_g0(BX), BP
MOVL BP, g(CX)
- MOVL (m_sched+gobuf_sp)(BX), SP
+ MOVL (m_sched+gobuf_sp)(BX), AX
+ MOVL -4(AX), BX // fault if CALL would, before smashing SP
+ MOVL AX, SP
CALL runtime·newstack(SB)
MOVL $0, 0x1003 // crash if newstack returns
RET