__sigsetjmp14.S revision 1.6 1 1.6 skrll /* $NetBSD: __sigsetjmp14.S,v 1.6 2023/10/11 09:12:21 skrll Exp $ */
2 1.1 tsubai
3 1.5 matt #include "SYS.h"
4 1.5 matt #include "assym.h"
5 1.1 tsubai
6 1.1 tsubai #if defined(LIBC_SCCS)
7 1.6 skrll __RCSID("$NetBSD: __sigsetjmp14.S,v 1.6 2023/10/11 09:12:21 skrll Exp $")
8 1.1 tsubai #endif
9 1.1 tsubai
10 1.1 tsubai ENTRY(__sigsetjmp14)
11 1.2 matt mr %r6,%r3
12 1.2 matt or. %r7,%r4,%r4
13 1.1 tsubai beq 1f
14 1.6 skrll li %r3,0 # how is ignored
15 1.6 skrll li %r4,0 # set = NULL
16 1.5 matt addi %r5,%r6,4*(1+24) # &sigmask
17 1.5 matt _DOSYSCALL(__sigprocmask14) # assume no error XXX
18 1.1 tsubai 1:
19 1.2 matt mflr %r11
20 1.2 matt mfcr %r12
21 1.2 matt mr %r10,%r1
22 1.2 matt mr %r9,%r2
23 1.2 matt stmw %r7,0(%r6) # save r7-r31
24 1.2 matt li %r3,0
25 1.1 tsubai blr
26 1.5 matt END(__sigsetjmp14)
27 1.1 tsubai
28 1.1 tsubai ENTRY(__siglongjmp14)
29 1.2 matt lmw %r7,0(%r3) # load r7-r31
30 1.2 matt mr %r6,%r4
31 1.2 matt mtlr %r11
32 1.2 matt mtcr %r12
33 1.2 matt mr %r2,%r9
34 1.2 matt mr %r1,%r10
35 1.2 matt or. %r7,%r7,%r7
36 1.1 tsubai beq 1f
37 1.5 matt addi %r4,%r3,4*(1+24) # &sigmask
38 1.5 matt li %r3,SIG_SETMASK
39 1.2 matt li %r5,0
40 1.5 matt _DOSYSCALL(__sigprocmask14) # assume no error XXX
41 1.1 tsubai 1:
42 1.2 matt or. %r3,%r6,%r6
43 1.1 tsubai bnelr
44 1.2 matt li %r3,1
45 1.1 tsubai blr
46 1.5 matt END(__siglongjmp14)
47