about summary refs log tree commit diff
path: root/src/signal/x86_64/sigsetjmp.s
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2013-04-22 10:17:56 -0400
committerRich Felker <dalias@aerifal.cx>2013-04-22 10:17:56 -0400
commitae0c1de530bc3b27069008b8b247171d08dbe80b (patch)
tree140deb0888c2dde88928e6d0831efcd25398753a /src/signal/x86_64/sigsetjmp.s
parent71ae0c724dd49d493621b367d17079f8cc70443c (diff)
downloadmusl-ae0c1de530bc3b27069008b8b247171d08dbe80b.tar.gz
musl-ae0c1de530bc3b27069008b8b247171d08dbe80b.tar.xz
musl-ae0c1de530bc3b27069008b8b247171d08dbe80b.zip
fix reversed argument order x86_64 sigsetjmp's call to sigprocmask
this caused sigsetjmp not to save the signal mask but instead to
clobber it with whatever happened to be in the sigjmb_buf prior to the
call.
Diffstat (limited to 'src/signal/x86_64/sigsetjmp.s')
-rw-r--r--src/signal/x86_64/sigsetjmp.s4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/signal/x86_64/sigsetjmp.s b/src/signal/x86_64/sigsetjmp.s
index 94d7148d..dc38f032 100644
--- a/src/signal/x86_64/sigsetjmp.s
+++ b/src/signal/x86_64/sigsetjmp.s
@@ -6,8 +6,8 @@ sigsetjmp:
 	movq %rsi,64(%rdi)
 	jz 1f
 	pushq %rdi
-	leaq 72(%rdi),%rsi
-	xorl %edx,%edx
+	leaq 72(%rdi),%rdx
+	xorl %esi,%esi
 	movl $2,%edi
 	call sigprocmask
 	popq %rdi