summaryrefslogtreecommitdiffstats
path: root/sys/ia64/include/asm.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/ia64/include/asm.h')
-rw-r--r--sys/ia64/include/asm.h15
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_) \
OpenPOWER on IntegriCloud