summaryrefslogtreecommitdiff
path: root/src/pkg/runtime/sys_linux_amd64.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/runtime/sys_linux_amd64.s')
-rw-r--r--src/pkg/runtime/sys_linux_amd64.s22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/pkg/runtime/sys_linux_amd64.s b/src/pkg/runtime/sys_linux_amd64.s
index 0de5b2aa4..657ab7e0b 100644
--- a/src/pkg/runtime/sys_linux_amd64.s
+++ b/src/pkg/runtime/sys_linux_amd64.s
@@ -139,7 +139,7 @@ TEXT runtime·rtsigprocmask(SB),7,$0-32
SYSCALL
CMPQ AX, $0xfffffffffffff001
JLS 2(PC)
- CALL runtime·notok(SB)
+ MOVL $0xf1, 0xf1 // crash
RET
TEXT runtime·rt_sigaction(SB),7,$0-32
@@ -154,12 +154,17 @@ TEXT runtime·rt_sigaction(SB),7,$0-32
TEXT runtime·sigtramp(SB),7,$64
get_tls(BX)
+ // check that m exists
+ MOVQ m(BX), BP
+ CMPQ BP, $0
+ JNE 2(PC)
+ CALL runtime·badsignal(SB)
+
// save g
MOVQ g(BX), R10
MOVQ R10, 40(SP)
// g = m->gsignal
- MOVQ m(BX), BP
MOVQ m_gsignal(BP), BP
MOVQ BP, g(BX)
@@ -205,7 +210,7 @@ TEXT runtime·munmap(SB),7,$0
SYSCALL
CMPQ AX, $0xfffffffffffff001
JLS 2(PC)
- CALL runtime·notok(SB)
+ MOVL $0xf1, 0xf1 // crash
RET
TEXT runtime·madvise(SB),7,$0
@@ -216,12 +221,7 @@ TEXT runtime·madvise(SB),7,$0
SYSCALL
CMPQ AX, $0xfffffffffffff001
JLS 2(PC)
- CALL runtime·notok(SB)
- RET
-
-TEXT runtime·notok(SB),7,$0
- MOVQ $0xf1, BP
- MOVQ BP, (BP)
+ MOVL $0xf1, 0xf1 // crash
RET
// int64 futex(int32 *uaddr, int32 op, int32 val,
@@ -290,7 +290,7 @@ TEXT runtime·sigaltstack(SB),7,$-8
SYSCALL
CMPQ AX, $0xfffffffffffff001
JLS 2(PC)
- CALL runtime·notok(SB)
+ MOVL $0xf1, 0xf1 // crash
RET
// set tls base to DI
@@ -303,7 +303,7 @@ TEXT runtime·settls(SB),7,$32
SYSCALL
CMPQ AX, $0xfffffffffffff001
JLS 2(PC)
- CALL runtime·notok(SB)
+ MOVL $0xf1, 0xf1 // crash
RET
TEXT runtime·osyield(SB),7,$0