add TLSDESC support for 32-bit arm
[musl] / src / signal / i386 / sigsetjmp.s
index 0e7eefb..690b251 100644 (file)
@@ -1,13 +1,26 @@
 .global sigsetjmp
+.global __sigsetjmp
+.type sigsetjmp,@function
+.type __sigsetjmp,@function
 sigsetjmp:
-       mov 4(%esp),%eax
+__sigsetjmp:
        mov 8(%esp),%ecx
-       mov %ecx,24(%eax)
        jecxz 1f
-       add $28,%eax
-       push %eax
-       push $0
-       push $2
-       call sigprocmask
-       add $12,%esp
-1:     jmp setjmp
+
+       mov 4(%esp),%eax
+       popl 24(%eax)
+       mov %ebx,28+8(%eax)
+       mov %eax,%ebx
+
+.hidden ___setjmp
+       call ___setjmp
+
+       pushl 24(%ebx)
+       mov %ebx,4(%esp)
+       mov %eax,8(%esp)
+       mov 28+8(%ebx),%ebx
+
+.hidden __sigsetjmp_tail
+       jmp __sigsetjmp_tail
+
+1:     jmp ___setjmp