runtime/asm_386.s: [386] float64touint32: function float64touint32 missing Go declaration
runtime/asm_386.s: [386] stackcheck: function stackcheck missing Go declaration
+
+runtime/asm_ARCHSUFF.s: [GOARCH] abort: function abort missing Go declaration
runtime/duff_amd64.s: [amd64] duffzero: function duffzero missing Go declaration
runtime/duff_amd64.s: [amd64] duffcopy: function duffcopy missing Go declaration
runtime/asm_amd64.s: [amd64] stackcheck: function stackcheck missing Go declaration
+runtime/asm_ARCHSUFF.s: [GOARCH] abort: function abort missing Go declaration
runtime/asm_amd64p32.s: [amd64p32] asmcgocall: RET without writing to 4-byte ret+8(FP)
runtime/asm_amd64p32.s: [amd64p32] stackcheck: function stackcheck missing Go declaration
+
+runtime/asm_ARCHSUFF.s: [GOARCH] abort: function abort missing Go declaration
CALL runtime·write(SB)
MOVL $1, 0(SP)
CALL runtime·exit(SB)
- INT $3
+ CALL runtime·abort(SB)
has_cpuid:
MOVL $0, AX
// start this M
CALL runtime·mstart(SB)
- INT $3
+ CALL runtime·abort(SB)
RET
DATA bad_proc_msg<>+0x00(SB)/8, $"This pro"
CMPL g(CX), SI
JNE 3(PC)
CALL runtime·badmorestackg0(SB)
- INT $3
+ CALL runtime·abort(SB)
// Cannot grow signal stack.
MOVL m_gsignal(BX), SI
CMPL g(CX), SI
JNE 3(PC)
CALL runtime·badmorestackgsignal(SB)
- INT $3
+ CALL runtime·abort(SB)
// Called from f.
// Set m->morebuf to f's caller.
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
+ CALL runtime·abort(SB) // crash if newstack returns
RET
TEXT runtime·morestack_noctxt(SB),NOSPLIT,$0-0
MOVL DX, g(AX)
RET
+TEXT runtime·abort(SB),NOSPLIT,$0-0
+ INT $3
+loop:
+ JMP loop
+
// check that SP is in range [g->stack.lo, g->stack.hi)
TEXT runtime·stackcheck(SB), NOSPLIT, $0-0
get_tls(CX)
MOVL g(CX), AX
CMPL (g_stack+stack_hi)(AX), SP
JHI 2(PC)
- INT $3
+ CALL runtime·abort(SB)
CMPL SP, (g_stack+stack_lo)(AX)
JHI 2(PC)
- INT $3
+ CALL runtime·abort(SB)
RET
// func cputicks() int64
MOVQ runtime·m0+m_tls(SB), AX
CMPQ AX, $0x123
JEQ 2(PC)
- MOVL AX, 0 // abort
+ CALL runtime·abort(SB)
ok:
// set the per-goroutine and per-mach "registers"
get_tls(BX)
// start this M
CALL runtime·mstart(SB)
- MOVL $0xf1, 0xf1 // crash
+ CALL runtime·abort(SB) // mstart should never return
RET
DATA runtime·mainPC+0(SB)/8,$runtime·main(SB)
CMPQ g(CX), SI
JNE 3(PC)
CALL runtime·badmorestackg0(SB)
- INT $3
+ CALL runtime·abort(SB)
// Cannot grow signal stack (m->gsignal).
MOVQ m_gsignal(BX), SI
CMPQ g(CX), SI
JNE 3(PC)
CALL runtime·badmorestackgsignal(SB)
- INT $3
+ CALL runtime·abort(SB)
// Called from f.
// Set m->morebuf to f's caller.
MOVQ BX, g(CX)
MOVQ (g_sched+gobuf_sp)(BX), SP
CALL runtime·newstack(SB)
- MOVQ $0, 0x1003 // crash if newstack returns
+ CALL runtime·abort(SB) // crash if newstack returns
RET
// morestack but not preserving ctxt.
MOVQ DI, g(AX)
RET
+TEXT runtime·abort(SB),NOSPLIT,$0-0
+ INT $3
+loop:
+ JMP loop
+
// check that SP is in range [g->stack.lo, g->stack.hi)
TEXT runtime·stackcheck(SB), NOSPLIT, $0-0
get_tls(CX)
MOVQ g(CX), AX
CMPQ (g_stack+stack_hi)(AX), SP
JHI 2(PC)
- INT $3
+ CALL runtime·abort(SB)
CMPQ SP, (g_stack+stack_lo)(AX)
JHI 2(PC)
- INT $3
+ CALL runtime·abort(SB)
RET
// func cputicks() int64
MOVQ runtime·m0+m_tls(SB), AX
CMPQ AX, $0x123
JEQ 2(PC)
- MOVL AX, 0 // abort
+ CALL runtime·abort(SB)
ok:
// set the per-goroutine and per-mach "registers"
get_tls(BX)
MOVL 0, AX
RET
+TEXT runtime·abort(SB),NOSPLIT,$0-0
+ INT $3
+loop:
+ JMP loop
+
// check that SP is in range [g->stack.lo, g->stack.hi)
TEXT runtime·stackcheck(SB), NOSPLIT, $0-0
get_tls(CX)