compat_sigsetjmp.S revision 1.2 1 1.2 matt /* $NetBSD: compat_sigsetjmp.S,v 1.2 2011/01/15 07:31:13 matt Exp $ */
2 1.1 matt
3 1.2 matt #include "SYS.h"
4 1.2 matt #include "assym.h"
5 1.1 matt
6 1.1 matt #if defined(LIBC_SCCS)
7 1.2 matt __RCSID("$NetBSD: compat_sigsetjmp.S,v 1.2 2011/01/15 07:31:13 matt Exp $")
8 1.1 matt #endif
9 1.1 matt
10 1.1 matt ENTRY(sigsetjmp)
11 1.1 matt mr %r6,%r3
12 1.1 matt or. %r7,%r4,%r4
13 1.1 matt beq 1f
14 1.2 matt li %r3,SIG_BLOCK
15 1.1 matt li %r4,0
16 1.2 matt _DOSYSCALL(compat_13_sigprocmask13) # assume no error XXX
17 1.1 matt 1:
18 1.1 matt mflr %r11
19 1.1 matt mfcr %r12
20 1.1 matt mr %r10,%r1
21 1.1 matt mr %r9,%r2
22 1.1 matt mr %r8,%r3
23 1.1 matt stmw %r7,0(%r6)
24 1.1 matt li %r3,0
25 1.1 matt blr
26 1.2 matt END(sigsetjmp)
27 1.1 matt
28 1.1 matt ENTRY(siglongjmp)
29 1.1 matt lmw %r7,0(%r3)
30 1.1 matt mr %r6,%r4
31 1.1 matt mtlr %r11
32 1.1 matt mtcr %r12
33 1.1 matt mr %r2,%r9
34 1.1 matt mr %r1,%r10
35 1.1 matt or. %r7,%r7,%r7
36 1.1 matt beq 1f
37 1.1 matt mr %r4,%r8
38 1.2 matt li %r3,SIG_SETMASK
39 1.2 matt _DOSYSCALL(compat_13_sigprocmask13) # assume no error XXX
40 1.1 matt 1:
41 1.1 matt or. %r3,%r6,%r6
42 1.1 matt bnelr
43 1.1 matt li %r3,1
44 1.1 matt blr
45 1.2 matt END(siglongjmp)
46