Explorar el Código

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 hace 12 años
padre
commit
e6129e6d83
Se han modificado 1 ficheros con 13 adiciones y 0 borrados
  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