summaryrefslogtreecommitdiff
path: root/src/signal/riscv64/sigsetjmp.s
blob: f9bc162a0aa66656cda8d89de3492145df01692b (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
.global sigsetjmp
.global __sigsetjmp
.type sigsetjmp, %function
.type __sigsetjmp, %function
sigsetjmp:
__sigsetjmp:
	bnez a1, 1f
	tail setjmp
1:

	sd ra, 208(a0)
	sd s0, 224(a0)
	mv s0, a0

	call setjmp

	mv a1, a0
	mv a0, s0
	ld s0, 224(a0)
	ld ra, 208(a0)

.hidden __sigsetjmp_tail
	tail __sigsetjmp_tail