diff options
author | Rich Felker <dalias@aerifal.cx> | 2012-07-12 22:20:36 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2012-07-12 22:20:36 -0400 |
commit | 532cd3a7171667d3f18e03c7c8d9d6f7846551e4 (patch) | |
tree | eb017484736a337dd267a1c233e541ddcb34f853 | |
parent | e1e4d6b269dd5c03480d55b031f2932df0490c96 (diff) | |
download | musl-532cd3a7171667d3f18e03c7c8d9d6f7846551e4.tar.gz musl-532cd3a7171667d3f18e03c7c8d9d6f7846551e4.tar.bz2 musl-532cd3a7171667d3f18e03c7c8d9d6f7846551e4.tar.xz musl-532cd3a7171667d3f18e03c7c8d9d6f7846551e4.zip |
sigsetjmp asm for mips
-rw-r--r-- | src/signal/mips/sigsetjmp.s | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/signal/mips/sigsetjmp.s b/src/signal/mips/sigsetjmp.s new file mode 100644 index 00000000..ae9c5427 --- /dev/null +++ b/src/signal/mips/sigsetjmp.s @@ -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 |