diff options
Diffstat (limited to 'sys/ia64/include/asm.h')
-rw-r--r-- | sys/ia64/include/asm.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/sys/ia64/include/asm.h b/sys/ia64/include/asm.h index 8be7b8a..73a29d7 100644 --- a/sys/ia64/include/asm.h +++ b/sys/ia64/include/asm.h @@ -43,12 +43,15 @@ /* * MCOUNT */ - -#if !defined(GPROF) && !defined(PROF) -#define MCOUNT /* nothing */ +#if defined(GPROF) +#define MCOUNT \ + alloc out0 = ar.pfs, 8, 0, 4, 0; \ + mov out1 = r1; \ + mov out2 = b0;; \ + mov out3 = r0; \ + br.call.sptk b0 = _mcount;; #else -#define MCOUNT \ - br.call.sptk.many b7=_mcount +#define MCOUNT /* nothing */ #endif /* @@ -61,7 +64,7 @@ .align 16; \ .proc _name_; \ _name_:; \ - .regstk _n_args_, 0, 0, 0 \ + .regstk _n_args_, 0, 0, 0; \ MCOUNT #define ENTRY_NOPROFILE(_name_, _n_args_) \ |