Home | History | Annotate | Line # | Download | only in include
profile.h revision 1.4
      1 /*	$NetBSD: profile.h,v 1.4 1999/03/05 07:59:14 tsubai Exp $	*/
      2 
      3 #define	_MCOUNT_DECL	void mcount
      4 
      5 #ifdef PIC
      6 #define _PLT "@plt"
      7 #else
      8 #define _PLT
      9 #endif
     10 
     11 #define MCOUNT __asm("		\
     12 	.globl _mcount;		\
     13 _mcount:			\
     14 	stwu	1,-64(1);	\
     15 	stw	3,16(1);	\
     16 	stw	4,20(1);	\
     17 	stw	5,24(1);	\
     18 	stw	6,28(1);	\
     19 	stw	7,32(1);	\
     20 	stw	8,36(1);	\
     21 	stw	9,40(1);	\
     22 	stw	10,44(1);	\
     23 				\
     24 	mflr	4;		\
     25 	stw	4,48(1);	\
     26 	lwz	3,68(1);	\
     27 	bl	mcount" _PLT ";	\
     28 	lwz	3,68(1);	\
     29 	mtlr	3;		\
     30 	lwz	4,48(1);	\
     31 	mtctr	4;		\
     32 				\
     33 	lwz	3,16(1);	\
     34 	lwz	4,20(1);	\
     35 	lwz	5,24(1);	\
     36 	lwz	6,28(1);	\
     37 	lwz	7,32(1);	\
     38 	lwz	8,36(1);	\
     39 	lwz	9,40(1);	\
     40 	lwz	10,44(1);	\
     41 	addi	1,1,64;		\
     42 	bctr;			");
     43 
     44 #ifdef _KERNEL
     45 #define	MCOUNT_ENTER
     46 #define	MCONT_EXIT
     47 #endif
     48