Home | History | Annotate | Line # | Download | only in sys
      1  1.3  matt /*	$NetBSD: ptrace.S,v 1.3 2014/08/23 02:24:22 matt 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.3  matt 	streg	%r0,SZREG(%r1)
      9  1.3  matt 	stregu	%r1,-(SZREG*6)(%r1)
     10  1.3  matt 	streg	%r3,(SZREG*2)(%r1)
     11  1.3  matt 	streg	%r4,(SZREG*3)(%r1)
     12  1.3  matt 	streg	%r5,(SZREG*4)(%r1)
     13  1.3  matt 	streg	%r6,(SZREG*5)(%r1)
     14  1.1  ross 
     15  1.1  ross 	bl	PIC_PLT(_C_LABEL(__errno))
     16  1.3  matt 	nop
     17  1.1  ross 	li	%r7,0
     18  1.3  matt 	stint	%r7,0(%r3)
     19  1.1  ross 
     20  1.3  matt 	ldreg	%r3,(SZREG*2)(%r1)
     21  1.3  matt 	ldreg	%r4,(SZREG*3)(%r1)
     22  1.3  matt 	ldreg	%r5,(SZREG*4)(%r1)
     23  1.3  matt 	ldreg	%r6,(SZREG*5)(%r1)
     24  1.3  matt 	addi	%r1,%r1,SZREG*6
     25  1.3  matt 	ldreg	%r0,SZREG(%r1)
     26  1.1  ross 	mtlr	%r0
     27  1.1  ross #else
     28  1.3  matt 	.pushsection ".toc","aw"
     29  1.3  matt .Lerrno:
     30  1.3  matt 	.tc	errno[TC], errno
     31  1.3  matt 	.popsection
     32  1.3  matt 	addis	%r7,%r2,_C_LABEL(errno)@toc@ha
     33  1.3  matt 	ldptr	%r7,_C_LABEL(errno)@toc@l(%r7)
     34  1.1  ross 	li	%r8,0
     35  1.3  matt 	stint	%r8,0(%r7)
     36  1.1  ross 	mtlr	0
     37  1.1  ross #endif /* _REENTRANT */
     38  1.3  matt 	_DOSYSCALL(ptrace)
     39  1.1  ross 	bso	1f
     40  1.1  ross 	blr
     41  1.1  ross 1:
     42  1.3  matt 	BRANCH_TO_CERROR()
     43  1.3  matt END(ptrace)
     44