redesign sigsetjmp so that signal mask is restored after longjmp
[musl] / src / signal / arm / sigsetjmp.s
1 .global sigsetjmp
2 .global __sigsetjmp
3 .type sigsetjmp,%function
4 .type __sigsetjmp,%function
5 sigsetjmp:
6 __sigsetjmp:
7         tst r1,r1
8         beq setjmp
9
10         str lr,[r0,#256]
11         str r4,[r0,#260+8]
12         mov r4,r0
13
14         bl setjmp
15
16         mov r1,r0
17         mov r0,r4
18         ldr lr,[r0,#256]
19         ldr r4,[r0,#260+8]
20
21 .hidden __sigsetjmp_tail
22         b __sigsetjmp_tail