From: Rich Felker Date: Fri, 13 Jul 2012 02:20:36 +0000 (-0400) Subject: sigsetjmp asm for mips X-Git-Tag: v0.9.3~25 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=532cd3a7171667d3f18e03c7c8d9d6f7846551e4;p=oweals%2Fmusl.git sigsetjmp asm for mips --- 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