aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/arm/sysdep.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/arm/sysdep.h')
-rw-r--r--sysdeps/arm/sysdep.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/sysdeps/arm/sysdep.h b/sysdeps/arm/sysdep.h
index 4fc90aeed0..13d34c741b 100644
--- a/sysdeps/arm/sysdep.h
+++ b/sysdeps/arm/sysdep.h
@@ -73,10 +73,10 @@
/* If compiled for profiling, call `mcount' at the start of each function. */
#ifdef PROF
-/* The mcount code relies on a normal frame pointer being on the stack
- to locate our caller, so push one just for its benefit. */
-#define CALL_MCOUNT \
-#error Profiling not supported.
+#define CALL_MCOUNT \
+ str lr,[sp, #-4]! \
+ bl PLTJMP(mcount) \
+ ldr lr, [sp], #4
#else
#define CALL_MCOUNT /* Do nothing. */
#endif