summaryrefslogtreecommitdiff
path: root/src/signal/riscv32/sigsetjmp.s
blob: c1caeab10409163eab1ddab459cb314a1188213a (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:

	sw ra, 152(a0)
	sw s0, 164(a0)
	mv s0, a0

	call setjmp

	mv a1, a0
	mv a0, s0
	lw s0, 164(a0)
	lw ra, 152(a0)

.hidden __sigsetjmp_tail
	tail __sigsetjmp_tail