summaryrefslogtreecommitdiff
path: root/src/signal/powerpc64/sigsetjmp.s
blob: 52ac1d0365558f6b29ba2d0bd0c27283e5817e11 (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
28
29
30
	.global sigsetjmp
	.global __sigsetjmp
	.type sigsetjmp,%function
	.type __sigsetjmp,%function
	.hidden ___setjmp
sigsetjmp:
__sigsetjmp:
	addis 2, 12, .TOC.-__sigsetjmp@ha
	addi  2,  2, .TOC.-__sigsetjmp@l
	.localentry sigsetjmp,.-sigsetjmp
	.localentry __sigsetjmp,.-__sigsetjmp

	cmpwi cr7, 4, 0
	beq-  cr7, ___setjmp

	mflr  5
	std   5, 512(3)
	std  16, 512+8+8(3)
	mr   16, 3

	bl ___setjmp

	mr   4,  3
	mr   3, 16
	ld   5, 512(3)
	mtlr 5
	ld  16, 512+8+8(3)

.hidden __sigsetjmp_tail
	b __sigsetjmp_tail