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