xref: /netbsd/lib/libc/arch/powerpc/sys/ptrace.S (revision bf9ec67e)
1/*	$NetBSD: ptrace.S,v 1.3 2000/02/23 20:16:57 kleink Exp $	*/
2
3#include "SYS.h"
4
5ENTRY(ptrace)
6#ifdef _REENTRANT
7	mflr	0
8	stwu	1,-32(1)
9	stw	0,36(1)
10	stw	3,8(1)
11	stw	4,12(1)
12	stw	5,16(1)
13	stw	6,20(1)
14
15	bl	PIC_PLT(_C_LABEL(__errno))
16	li	7,0
17	stw	7,0(3)
18
19	lwz	3,8(1)
20	lwz	4,12(1)
21	lwz	5,16(1)
22	lwz	0,36(1)
23	lwz	6,20(1)
24	mtlr	0
25	la	1,32(1)
26#else
27#ifdef PIC
28	mflr	0
29	bl	_GLOBAL_OFFSET_TABLE_@local-4
30	mflr	7
31	lwz	7,_C_LABEL(errno)@got(7)
32	li	8,0
33	stw	8,0(7)
34	mtlr	0
35#else
36	lis	7,_C_LABEL(errno)@ha
37	li	8,0
38	stw	8,_C_LABEL(errno)@l(7)
39#endif /* PIC */
40#endif /* _REENTRANT */
41	li	0,SYS_ptrace
42	sc
43	bso	1f
44	blr
451:
46	b	PIC_PLT(_C_LABEL(__cerror))
47