summaryrefslogtreecommitdiff
path: root/src/signal/arm/sigsetjmp.s
blob: 69ebbf4993fda165c027768ca08db23454320b08 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
.syntax unified
.global sigsetjmp
.global __sigsetjmp
.type sigsetjmp,%function
.type __sigsetjmp,%function
sigsetjmp:
__sigsetjmp:
	tst r1,r1
	bne 1f
	b setjmp

1:	str lr,[r0,#256]
	str r4,[r0,#260+8]
	mov r4,r0

	bl setjmp

	mov r1,r0
	mov r0,r4
	ldr lr,[r0,#256]
	ldr r4,[r0,#260+8]

.hidden __sigsetjmp_tail
	b __sigsetjmp_tail