summaryrefslogtreecommitdiff
path: root/src/signal/microblaze
diff options
context:
space:
mode:
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