summaryrefslogtreecommitdiff
path: root/src/signal/microblaze
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/microblaze
parentef2f595f7489a79b328766e3f8c2c899c8d23fd1 (diff)
downloadmusl-f1e7a5e5f62945d99bf5277fe574d2cf3983413a.tar.gz
musl-f1e7a5e5f62945d99bf5277fe574d2cf3983413a.tar.bz2
musl-f1e7a5e5f62945d99bf5277fe574d2cf3983413a.tar.xz
musl-f1e7a5e5f62945d99bf5277fe574d2cf3983413a.zip
fix (hopefully; untested) completely broken/incomplete microblaze sigsetjmp
Diffstat (limited to 'src/signal/microblaze')
-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