fix (hopefully; untested) completely broken/incomplete microblaze sigsetjmp
[musl] / src / signal / microblaze / sigsetjmp.s
index 47cf8d9..be869d6 100644 (file)
@@ -1,9 +1,18 @@
 .global sigsetjmp
 .type sigsetjmp,@function
 sigsetjmp:
-       lwi     r11, r5, 72
-       beqi    r11, setjmp@PLT
+       swi     r6, r5, 72
+       beqi    r6, setjmp@PLT
+
+       addi    r1, r1, -32
+       swi     r15, r1, 28
+       swi     r5, r1, 24
        addi    r7, r5, 76
        add     r6, r0, r0
-       brid    sigprocmask@PLT
+       brlid   r15, sigprocmask@PLT
        ori     r5, r0, 2
+
+       lwi     r15, r1, 28
+       lwi     r5, r1, 24
+       brid    setjmp@PLT
+       addi    r1, r1, 32