fix (hopefully; untested) completely broken/incomplete microblaze sigsetjmp
authorRich Felker <dalias@aerifal.cx>
Thu, 18 Oct 2012 04:09:36 +0000 (00:09 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 18 Oct 2012 04:09:36 +0000 (00:09 -0400)
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