Browse Source

fix (hopefully; untested) completely broken/incomplete microblaze sigsetjmp

Rich Felker 12 years ago
parent
commit
f1e7a5e5f6
1 changed files with 12 additions and 3 deletions
  1. 12 3
      src/signal/microblaze/sigsetjmp.s

+ 12 - 3
src/signal/microblaze/sigsetjmp.s

@@ -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