sigsetjmp asm for mips
[musl] / src / signal / mips / sigsetjmp.s
1 .set noreorder
2
3 .global sigsetjmp
4 .type sigsetjmp,@function
5 sigsetjmp:
6         lui $gp, %hi(_gp_disp)
7         addiu $gp, %lo(_gp_disp)
8         beq $5, $0, 1f
9         addu $gp, $gp, $25
10         subu $sp, $sp, 32
11         sw $4, 20($sp)
12         sw $ra, 24($sp)
13         sw $gp, 28($sp)
14         addu $6, $4, 124
15         li $5, 0
16         li $4, 1
17         sw $4, -4($6)
18         lw $25, %call16(sigprocmask)($gp)
19         jalr $25
20         nop
21         lw $gp, 28($sp)
22         lw $ra, 24($sp)
23         lw $4, 20($sp)
24         addu $sp, $sp, 32
25 1:      lw $25, %call16(setjmp)($gp)
26         jr $25
27         nop