Sync usage with man page.
[netbsd-mini2440.git] / lib / libc / arch / powerpc / sys / ptrace.S
blob1d12d1d23243d0e906e1c4f184a5343dbcd45fc0
1 /*      $NetBSD: ptrace.S,v 1.3 2000/02/23 20:16:57 kleink Exp $        */
3 #include "SYS.h"
5 ENTRY(ptrace)
6 #ifdef _REENTRANT
7         mflr    %r0
8         stwu    %r1,-32(%r1)
9         stw     %r0,36(%r1)
10         stw     %r3,8(%r1)
11         stw     %r4,12(%r1)
12         stw     %r5,16(%r1)
13         stw     %r6,20(%r1)
15         bl      PIC_PLT(_C_LABEL(__errno))
16         li      %r7,0
17         stw     %r7,0(%r3)
19         lwz     %r3,8(%r1)
20         lwz     %r4,12(%r1)
21         lwz     %r5,16(%r1)
22         lwz     %r0,36(%r1)
23         lwz     %r6,20(%r1)
24         mtlr    %r0
25         la      %r1,32(%r1)
26 #else
27 #ifdef PIC
28         mflr    %r0
29         bl      _GLOBAL_OFFSET_TABLE_@local-4
30         mflr    %r7
31         lwz     %r7,_C_LABEL(errno)@got(%r7)
32         li      %r8,0
33         stw     %r8,0(%r7)
34         mtlr    0
35 #else
36         lis     %r7,_C_LABEL(errno)@ha
37         li      %r8,0
38         stw     %r8,_C_LABEL(errno)@l(%r7)
39 #endif /* PIC */
40 #endif /* _REENTRANT */
41         li      %r0,SYS_ptrace
42         sc
43         bso     1f
44         blr
46         b       PIC_PLT(_C_LABEL(__cerror))