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