sigsetjmp asm for mips
This commit is contained in:
parent
e1e4d6b269
commit
532cd3a717
1 changed files with 27 additions and 0 deletions
27
src/signal/mips/sigsetjmp.s
Normal file
27
src/signal/mips/sigsetjmp.s
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
.set noreorder
|
||||||
|
|
||||||
|
.global sigsetjmp
|
||||||
|
.type sigsetjmp,@function
|
||||||
|
sigsetjmp:
|
||||||
|
lui $gp, %hi(_gp_disp)
|
||||||
|
addiu $gp, %lo(_gp_disp)
|
||||||
|
beq $5, $0, 1f
|
||||||
|
addu $gp, $gp, $25
|
||||||
|
subu $sp, $sp, 32
|
||||||
|
sw $4, 20($sp)
|
||||||
|
sw $ra, 24($sp)
|
||||||
|
sw $gp, 28($sp)
|
||||||
|
addu $6, $4, 124
|
||||||
|
li $5, 0
|
||||||
|
li $4, 1
|
||||||
|
sw $4, -4($6)
|
||||||
|
lw $25, %call16(sigprocmask)($gp)
|
||||||
|
jalr $25
|
||||||
|
nop
|
||||||
|
lw $gp, 28($sp)
|
||||||
|
lw $ra, 24($sp)
|
||||||
|
lw $4, 20($sp)
|
||||||
|
addu $sp, $sp, 32
|
||||||
|
1: lw $25, %call16(setjmp)($gp)
|
||||||
|
jr $25
|
||||||
|
nop
|
||||||
Loading…
Add table
Add a link
Reference in a new issue