in clock_getres, check for null pointer before storing result
[musl] / src / signal / mips / sigsetjmp.s
index 133ca77..74b65ff 100644 (file)
@@ -9,22 +9,25 @@ __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, 108
-       li $5, 0
-       li $4, 1
-       sw $4, -4($6)
-       lw $25, %call16(sigprocmask)($gp)
+        addu $gp, $gp, $25
+
+       sw $ra, 104($4)
+       sw $16, 104+4+16($4)
+
+       lw $25, %call16(setjmp)($gp)
        jalr $25
-       nop
-       lw $gp, 28($sp)
-       lw $ra, 24($sp)
-       lw $4, 20($sp)
-       addu $sp, $sp, 32
+        move $16, $4
+
+       move $5,$2
+       move $4,$16
+       lw $ra, 104($4)
+       lw $16, 104+4+16($4)
+
+.hidden __sigsetjmp_tail
+       lw $25, %call16(__sigsetjmp_tail)($gp)
+       jr $25
+        nop
+
 1:     lw $25, %call16(setjmp)($gp)
        jr $25
-       nop
+        nop