diff options
Diffstat (limited to 'src/pkg/runtime/sys_openbsd_386.s')
-rw-r--r-- | src/pkg/runtime/sys_openbsd_386.s | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/pkg/runtime/sys_openbsd_386.s b/src/pkg/runtime/sys_openbsd_386.s index d49d32b95..593b4a9df 100644 --- a/src/pkg/runtime/sys_openbsd_386.s +++ b/src/pkg/runtime/sys_openbsd_386.s @@ -12,14 +12,14 @@ TEXT runtime·exit(SB),7,$-4 MOVL $1, AX INT $0x80 - CALL runtime·notok(SB) + MOVL $0xf1, 0xf1 // crash RET TEXT runtime·exit1(SB),7,$-4 MOVL $302, AX // sys_threxit INT $0x80 JAE 2(PC) - CALL runtime·notok(SB) + MOVL $0xf1, 0xf1 // crash RET TEXT runtime·write(SB),7,$-4 @@ -55,10 +55,6 @@ TEXT runtime·raisesigpipe(SB),7,$12 INT $0x80 RET -TEXT runtime·notok(SB),7,$0 - MOVL $0xf1, 0xf1 - RET - TEXT runtime·mmap(SB),7,$36 LEAL arg0+0(FP), SI LEAL 4(SP), DI @@ -83,7 +79,7 @@ TEXT runtime·munmap(SB),7,$-4 MOVL $73, AX // sys_munmap INT $0x80 JAE 2(PC) - CALL runtime·notok(SB) + MOVL $0xf1, 0xf1 // crash RET TEXT runtime·setitimer(SB),7,$-4 @@ -136,18 +132,23 @@ TEXT runtime·sigaction(SB),7,$-4 MOVL $46, AX // sys_sigaction INT $0x80 JAE 2(PC) - CALL runtime·notok(SB) + MOVL $0xf1, 0xf1 // crash RET TEXT runtime·sigtramp(SB),7,$44 get_tls(CX) + // check that m exists + MOVL m(CX), BX + CMPL BX, $0 + JNE 2(PC) + CALL runtime·badsignal(SB) + // save g MOVL g(CX), DI MOVL DI, 20(SP) // g = m->gsignal - MOVL m(CX), BX MOVL m_gsignal(BX), BX MOVL BX, g(CX) @@ -173,7 +174,7 @@ TEXT runtime·sigtramp(SB),7,$44 MOVL AX, 4(SP) // arg 1 - sigcontext MOVL $103, AX // sys_sigreturn INT $0x80 - CALL runtime·notok(SB) + MOVL $0xf1, 0xf1 // crash RET // int32 rfork_thread(int32 flags, void *stack, M *m, G *g, void (*fn)(void)); @@ -285,7 +286,7 @@ TEXT runtime·settls(SB),7,$16 MOVL $165, AX // sys_sysarch INT $0x80 JCC 2(PC) - CALL runtime·notok(SB) + MOVL $0xf1, 0xf1 // crash RET TEXT runtime·osyield(SB),7,$-4 |