summaryrefslogtreecommitdiff
path: root/src/signal/x86_64/sigsetjmp.s
blob: e883ac449360c227fb9acb49388c268f3b956c2e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* Copyright 2011 Nicholas J. Kain, licensed GNU LGPL 2.1 or later */
.global sigsetjmp
.type sigsetjmp,@function
sigsetjmp:
	andl %esi,%esi
	movq %rsi,64(%rdi)
	jz 1f
	pushq %rdi
	leaq 72(%rdi),%rsi
	xorl %edx,%edx
	movl $2,%edi
	call sigprocmask
	popq %rdi
1:	jmp setjmp