add or1k (OpenRISC 1000) architecture port
[oweals/musl.git] / src / signal / or1k / sigsetjmp.s
1 .global sigsetjmp
2 .global __sigsetjmp
3 .type sigsetjmp,@function
4 .type __sigsetjmp,@function
5 sigsetjmp:
6 __sigsetjmp:
7         l.sfeq  r4, r0
8         l.bf    plt(setjmp)
9          l.sw   52(r3), r4      /* buf->__fl = save */
10
11         l.addi  r1, r1, -8
12         l.sw    0(r1), r9
13         l.sw    4(r1), r3
14         l.addi  r5, r3, 56      /* buf->__ss */
15         l.add   r4, r0, r0
16         l.jal   plt(sigprocmask)
17          l.ori  r3, r0, 2       /* SIG_SETMASK */
18
19         l.lwz   r9, 0(r1)
20         l.lwz   r3, 4(r1)
21         l.j     plt(setjmp)
22          l.addi r1, r1, 8