소스 검색

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 년 전
부모
커밋
e6129e6d83
1개의 변경된 파일13개의 추가작업 그리고 0개의 파일을 삭제
  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