projects
/
musl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
8e26a59
)
fix sigsetjmp on arm (needs asm)
author
Rich Felker
<dalias@aerifal.cx>
Tue, 3 Jul 2012 02:49:25 +0000
(22:49 -0400)
committer
Rich Felker
<dalias@aerifal.cx>
Tue, 3 Jul 2012 02:49:25 +0000
(22:49 -0400)
no idea why gcc refuses to compile the C code to use a tail call, but
it's best to use asm anyway so we don't have to rely on the quality of
the compiler's optimizations for correct code.
src/signal/arm/sigsetjmp.s
[new file with mode: 0644]
patch
|
blob
diff --git a/src/signal/arm/sigsetjmp.s
b/src/signal/arm/sigsetjmp.s
new file mode 100644
(file)
index 0000000..
acb0301
--- /dev/null
+++ b/
src/signal/arm/sigsetjmp.s
@@ -0,0
+1,13
@@
+.global sigsetjmp
+.type sigsetjmp,%function
+sigsetjmp:
+ str a2,[a1,#256]
+ tst a2,a2
+ beq setjmp
+ push {a1,lr}
+ add a3,a1,#260
+ mov a2,#0
+ mov a1,#2
+ bl sigprocmask
+ pop {a1,lr}
+ b setjmp