+#define STACKCHECK_HEADER_PC_OFFSET 16
+
+void stackcheck(void)
+{
+volatile void *func;
+volatile int fp_alloc;
+
+ asm("movel %%d0,%0" : "=r" (fp_alloc) : /* input */ : "d0");
+ asm("movel %%sp@,%0" : "=r" (func) : /* input */);
+
+ if (live_check_disable<=0)
+ printf("mcount(func=0x%08lX,fp_alloc=%d)\n",((long)func)-STACKCHECK_HEADER_PC_OFFSET,-fp_alloc);
+#ifdef LIVE_ALLOC
+ LIVE_ALLOC((-fp_alloc)+4);
+#endif /* LIVE_ALLOC */
+}
+