summaryrefslogtreecommitdiff
path: root/src/signal/aarch64/sigsetjmp.s
blob: e0f83f06929a38763fe1a47d07bc027ae53568b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
.global sigsetjmp
.global __sigsetjmp
.type sigsetjmp,%function
.type __sigsetjmp,%function
sigsetjmp:
__sigsetjmp:
	str x1,[x0,#176]
	cbz x1,setjmp

	// TODO errno?
	// sigprocmask(SIG_SETMASK, 0, (sigset_t*)buf->__ss);
	stp x0,x30,[sp,#-16]!
	add x2,x0,#184
	mov x1,#0
	mov x0,#2
	bl sigprocmask
	ldp x0,x30,[sp],#16

	b setjmp