summaryrefslogtreecommitdiff
path: root/src/signal/arm/sigsetjmp.s
blob: 318addba0a12c29760a371c2253e15f275a2ba0b (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
.syntax unified
.global sigsetjmp
.global __sigsetjmp
.type sigsetjmp,%function
.type __sigsetjmp,%function
sigsetjmp:
__sigsetjmp:
	tst r1,r1
	beq setjmp

	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