mirror of
https://github.com/fluencelabs/musl
synced 2025-07-03 16:41:59 +00:00
fix sigsetjmp on arm (needs asm)
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.
This commit is contained in:
13
src/signal/arm/sigsetjmp.s
Normal file
13
src/signal/arm/sigsetjmp.s
Normal file
@ -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
|
Reference in New Issue
Block a user