about summary refs log tree commit diff
path: root/src/signal
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-10-18 00:09:36 -0400
committerRich Felker <dalias@aerifal.cx>2012-10-18 00:09:36 -0400
commitf1e7a5e5f62945d99bf5277fe574d2cf3983413a (patch)
treeceb5cef493e675b61fc9eea6a14bf4a0371099a4 /src/signal
parentef2f595f7489a79b328766e3f8c2c899c8d23fd1 (diff)
downloadmusl-f1e7a5e5f62945d99bf5277fe574d2cf3983413a.tar.gz
musl-f1e7a5e5f62945d99bf5277fe574d2cf3983413a.tar.xz
musl-f1e7a5e5f62945d99bf5277fe574d2cf3983413a.zip
fix (hopefully; untested) completely broken/incomplete microblaze sigsetjmp
Diffstat (limited to 'src/signal')
-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