Home | History | Annotate | Line # | Download | only in sys
ptrace.S revision 1.1
      1  1.1  ross /*	$NetBSD: ptrace.S,v 1.1 2006/07/01 16:37:20 ross Exp $	*/
      2  1.1  ross 
      3  1.1  ross #include "SYS.h"
      4  1.1  ross 
      5  1.1  ross ENTRY(ptrace)
      6  1.1  ross #ifdef _REENTRANT
      7  1.1  ross 	mflr	%r0
      8  1.1  ross 	stwu	%r1,-32(%r1)
      9  1.1  ross 	stw	%r0,36(%r1)
     10  1.1  ross 	stw	%r3,8(%r1)
     11  1.1  ross 	stw	%r4,12(%r1)
     12  1.1  ross 	stw	%r5,16(%r1)
     13  1.1  ross 	stw	%r6,20(%r1)
     14  1.1  ross 
     15  1.1  ross 	bl	PIC_PLT(_C_LABEL(__errno))
     16  1.1  ross 	li	%r7,0
     17  1.1  ross 	stw	%r7,0(%r3)
     18  1.1  ross 
     19  1.1  ross 	lwz	%r3,8(%r1)
     20  1.1  ross 	lwz	%r4,12(%r1)
     21  1.1  ross 	lwz	%r5,16(%r1)
     22  1.1  ross 	lwz	%r0,36(%r1)
     23  1.1  ross 	lwz	%r6,20(%r1)
     24  1.1  ross 	mtlr	%r0
     25  1.1  ross 	la	%r1,32(%r1)
     26  1.1  ross #else
     27  1.1  ross #ifdef PIC
     28  1.1  ross 	mflr	%r0
     29  1.1  ross 	bl	_GLOBAL_OFFSET_TABLE_@local-4
     30  1.1  ross 	mflr	%r7
     31  1.1  ross 	lwz	%r7,_C_LABEL(errno)@got(%r7)
     32  1.1  ross 	li	%r8,0
     33  1.1  ross 	stw	%r8,0(%r7)
     34  1.1  ross 	mtlr	0
     35  1.1  ross #else
     36  1.1  ross 	lis	%r7,_C_LABEL(errno)@ha
     37  1.1  ross 	li	%r8,0
     38  1.1  ross 	stw	%r8,_C_LABEL(errno)@l(%r7)
     39  1.1  ross #endif /* PIC */
     40  1.1  ross #endif /* _REENTRANT */
     41  1.1  ross 	li	%r0,SYS_ptrace
     42  1.1  ross 	sc
     43  1.1  ross 	bso	1f
     44  1.1  ross 	blr
     45  1.1  ross 1:
     46  1.1  ross 	b	PIC_PLT(_C_LABEL(__cerror))
     47