projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix tls offsets when p_vaddr%p_align != 0 on TLS_ABOVE_TP targets
[musl]
/
src
/
signal
/
x32
/
sigsetjmp.s
diff --git
a/src/signal/x32/sigsetjmp.s
b/src/signal/x32/sigsetjmp.s
index
17436f0
..
1f02b0e
100644
(file)
--- a/
src/signal/x32/sigsetjmp.s
+++ b/
src/signal/x32/sigsetjmp.s
@@
-1,17
+1,25
@@
-/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
.global sigsetjmp
.global __sigsetjmp
.type sigsetjmp,@function
.type __sigsetjmp,@function
sigsetjmp:
__sigsetjmp:
.global sigsetjmp
.global __sigsetjmp
.type sigsetjmp,@function
.type __sigsetjmp,@function
sigsetjmp:
__sigsetjmp:
- andl %esi,%esi
- movq %rsi,64(%rdi)
+ test %esi,%esi
jz 1f
jz 1f
- pushq %rdi
- leaq 72(%rdi),%rdx
- xorl %esi,%esi
- movl $2,%edi
- call sigprocmask
- popq %rdi
-1: jmp setjmp
+
+ popq 64(%rdi)
+ mov %rbx,72+8(%rdi)
+ mov %rdi,%rbx
+
+ call setjmp@PLT
+
+ pushq 64(%rbx)
+ movl $0, 4(%rsp)
+ mov %rbx,%rdi
+ mov %eax,%esi
+ mov 72+8(%rbx),%rbx
+
+.hidden __sigsetjmp_tail
+ jmp __sigsetjmp_tail
+
+1: jmp setjmp@PLT