summaryrefslogtreecommitdiff
path: root/src/signal/sh/sigsetjmp.s
blob: f6cae80194c37766f75083eb59d9ade5894f55d5 (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
25
26
27
.global sigsetjmp
.type   sigsetjmp, @function
sigsetjmp:
	mov.l r5, @(36,r4)
	tst r5, r5
	bf  2f

	sts.l pr, @-r15
	mov.l r4, @-r15
	mov r4, r6
	add #40, r6
	mov #0, r5
	mov #2, r4
	mov.l L1, r0
	bsrf  r0
	 nop
1:	mov.l @r15+, r4
	lds.l @r15+, pr

2:	mov.l L2, r0
	braf  r0
	 nop
3:

.align 2
L1:	.long pthread_sigmask@PLT-(1b-.)
L2:	.long setjmp@PLT-(3b-.)