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