Fix mdoc(7)/man(7) mix up.
[netbsd-mini2440.git] / lib / libc / compat / arch / powerpc / gen / compat_sigsetjmp.S
blobb59e04d9d5e184f7d905575c9591261aa02a9d3c
1 /*      $NetBSD: sigsetjmp.S,v 1.6 2002/08/09 02:46:56 briggs Exp $     */
3 #include <sys/syscall.h>
5 #include <machine/asm.h>
7 #if defined(LIBC_SCCS)
8         .text
9         .asciz "$NetBSD: sigsetjmp.S,v 1.6 2002/08/09 02:46:56 briggs Exp $"
10 #endif
12 ENTRY(sigsetjmp)
13         mr      %r6,%r3
14         or.     %r7,%r4,%r4
15         beq     1f
16         li      %r3,1                   # SIG_BLOCK
17         li      %r4,0
18         li      %r0,SYS_compat_13_sigprocmask13
19         sc                              # assume no error       XXX
21         mflr    %r11
22         mfcr    %r12
23         mr      %r10,%r1
24         mr      %r9,%r2
25         mr      %r8,%r3
26         stmw    %r7,0(%r6)
27         li      %r3,0
28         blr
30 ENTRY(siglongjmp)
31         lmw     %r7,0(%r3)
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         mr      %r4,%r8
40         li      %r3,3                   # SIG_SETMASK
41         li      %r0,SYS_compat_13_sigprocmask13
42         sc                              # assume no error       XXX
44         or.     %r3,%r6,%r6
45         bnelr
46         li      %r3,1
47         blr