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:
parent
8e26a591d0
commit
e6129e6d83
1 changed files with 13 additions and 0 deletions
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
|
||||
Loading…
Add table
Add a link
Reference in a new issue