Bläddra i källkod

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 år sedan
förälder
incheckning
e6129e6d83
1 ändrade filer med 13 tillägg och 0 borttagningar
  1. 13 0
      src/signal/arm/sigsetjmp.s

+ 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