summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2004-02-20 20:49:58 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2004-02-20 20:49:58 +0000
commit57efd3c00d7bb75667dd8a782ee8b0c0665c6ada (patch)
tree14678e53af266d29b1025ab509eb11890d4a4d5a /sys/arch
parentdd16b38ad14a1bec9b64c455b9ff9cba36342418 (diff)
use an old syscall (int $0x80) for the sigreturn; otherwise %rcx is trashed.
we've been chasing this for 2 weeks.. finally spotted by kettenis@chello.nl
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/amd64/amd64/locore.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arch/amd64/amd64/locore.S b/sys/arch/amd64/amd64/locore.S
index c54c00bd384..fabbf2eecac 100644
--- a/sys/arch/amd64/amd64/locore.S
+++ b/sys/arch/amd64/amd64/locore.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: locore.S,v 1.3 2004/02/07 17:00:12 miod Exp $ */
+/* $OpenBSD: locore.S,v 1.4 2004/02/20 20:49:57 deraadt Exp $ */
/* $NetBSD: locore.S,v 1.2 2003/04/26 19:34:45 fvdl Exp $ */
/*
@@ -600,7 +600,7 @@ NENTRY(sigcode)
movq %rsp,%rdi
pushq %rdi /* fake return address */
movq $SYS_sigreturn,%rax
- syscall
+ int $0x80
movq $SYS_exit,%rax
syscall
.globl _C_LABEL(esigcode)