diff options
Diffstat (limited to 'sys/amd64/include/profile.h')
-rw-r--r-- | sys/amd64/include/profile.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/sys/amd64/include/profile.h b/sys/amd64/include/profile.h index ecd3426..93e8614 100644 --- a/sys/amd64/include/profile.h +++ b/sys/amd64/include/profile.h @@ -33,6 +33,10 @@ #ifndef _MACHINE_PROFILE_H_ #define _MACHINE_PROFILE_H_ +#ifndef _SYS_CDEFS_H_ +#error this file needs sys/cdefs.h as a prerequisite +#endif + #ifdef _KERNEL /* @@ -53,7 +57,7 @@ #define MCOUNT_DECL(s) #define MCOUNT_ENTER(s) #define MCOUNT_EXIT(s) -#ifdef __GNUC__ +#ifdef __GNUCLIKE_ASM #define MCOUNT_OVERHEAD(label) \ __asm __volatile("pushq %0; call __mcount; popq %%rcx" \ : \ @@ -70,8 +74,8 @@ #define MEXITCOUNT_OVERHEAD() #define MEXITCOUNT_OVERHEAD_GETLABEL() #else -#error -#endif /* __GNUC */ +#error this file needs to be ported to your compiler +#endif /* __GNUCLIKE_ASM */ #else /* !GUPROF */ #define MCOUNT_DECL(s) u_long s; #ifdef SMP @@ -108,7 +112,7 @@ void user(void); static void _mcount(uintfptr_t frompc, uintfptr_t selfpc) __used; \ static void _mcount -#ifdef __GNUC__ +#ifdef __GNUCLIKE_ASM #define MCOUNT __asm(" \n\ .globl .mcount \n\ .type .mcount @function \n\ @@ -166,13 +170,13 @@ mcount() \ _mcount(frompc, selfpc); \ } #endif -#else /* !__GNUC__ */ +#else /* !__GNUCLIKE_ASM */ #define MCOUNT \ void \ mcount() \ { \ } -#endif /* __GNUC__ */ +#endif /* __GNUCLIKE_ASM */ typedef u_long uintfptr_t; @@ -193,7 +197,7 @@ void mcount(uintfptr_t frompc, uintfptr_t selfpc); #include <sys/cdefs.h> __BEGIN_DECLS -#ifdef __GNUC__ +#ifdef __GNUCLIKE_ASM void mcount(void) __asm(".mcount"); #endif __END_DECLS |