Sync usage with man page.
[netbsd-mini2440.git] / lib / libc / arch / powerpc64 / sys / ptrace.S
blob90f56ed96edfca307e54616053a9ef559025d088
1 /*      $NetBSD: ptrace.S,v 1.4 2002/07/30 06:08:00 matt 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))