1
0
Эх сурвалжийг харах

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.
Rich Felker 13 жил өмнө
parent
commit
e6129e6d83

+ 13 - 0
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