about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/signal/microblaze/sigsetjmp.s15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/signal/microblaze/sigsetjmp.s b/src/signal/microblaze/sigsetjmp.s
index 47cf8d9e..be869d68 100644
--- a/src/signal/microblaze/sigsetjmp.s
+++ b/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