Fix mdoc(7)/man(7) mix up.
[netbsd-mini2440.git] / lib / libc / arch / powerpc / gen / __sigsetjmp14.S
blob9aae4ab7c44aaeb51e507f838a84156cd548fa24
1 /*      $NetBSD: compat___sigsetjmp14.S,v 1.1 2006/02/18 00:21:28 matt Exp $    */
3 #include <sys/syscall.h>
5 #include <machine/asm.h>
7 #if defined(LIBC_SCCS)
8         .text
9         .asciz "$NetBSD: compat___sigsetjmp14.S,v 1.1 2006/02/18 00:21:28 matt Exp $"
10 #endif
12 ENTRY(__sigsetjmp14)
13         mr      %r6,%r3
14         or.     %r7,%r4,%r4
15         beq     1f
16         li      %r3,1                   # SIG_BLOCK
17         li      %r4,0
18         addi    %r5,%r6,100             # &sigmask
19         li      %r0,SYS___sigprocmask14
20         sc                              # assume no error       XXX
22         mflr    %r11
23         mfcr    %r12
24         mr      %r10,%r1
25         mr      %r9,%r2
26         stmw    %r7,0(%r6)              # save r7-r31
27         li      %r3,0
28         blr
30 ENTRY(__siglongjmp14)
31         lmw     %r7,0(%r3)              # load r7-r31
32         mr      %r6,%r4
33         mtlr    %r11
34         mtcr    %r12
35         mr      %r2,%r9
36         mr      %r1,%r10
37         or.     %r7,%r7,%r7
38         beq     1f
39         addi    %r4,%r3,100             # &sigmask
40         li      %r3,3                   # SIG_SETMASK
41         li      %r5,0
42         li      %r0,SYS___sigprocmask14
43         sc                              # assume no error       XXX
45         or.     %r3,%r6,%r6
46         bnelr
47         li      %r3,1
48         blr