runtime: debugging help on 386
R=r
CC=golang-dev
https://golang.org/cl/3502041
diff --git a/src/pkg/runtime/386/asm.s b/src/pkg/runtime/386/asm.s
index deb7b12..84f5367 100644
--- a/src/pkg/runtime/386/asm.s
+++ b/src/pkg/runtime/386/asm.s
@@ -177,7 +177,9 @@
// 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