+2008-05-14 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.c (sparc_profile_hook): If
+ NO_PROFILE_COUNTERS, don't generate and pass a label
+ into mcount.
+ * config/sparc/linux.h (NO_PROFILE_COUNTERS): Define as 1.
+ * config/sparc/linux64.h (NO_PROFILE_COUNTERS): Likewise.
+
2008-05-14 Andreas Krebbel <krebbel1@de.ibm.com>
* cse.c (cse_cc_succs): Invoke delete_insn_and_edges.
/* Define if long doubles should be mangled as 'g'. */
#define TARGET_ALTERNATE_LONG_DOUBLE_MANGLING
+
+/* We use glibc _mcount for profiling. */
+#define NO_PROFILE_COUNTERS 1
/* Define if long doubles should be mangled as 'g'. */
#define TARGET_ALTERNATE_LONG_DOUBLE_MANGLING
+
+/* We use glibc _mcount for profiling. */
+#define NO_PROFILE_COUNTERS 1
char buf[32];
rtx lab, fun;
- ASM_GENERATE_INTERNAL_LABEL (buf, "LP", labelno);
- lab = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
fun = gen_rtx_SYMBOL_REF (Pmode, MCOUNT_FUNCTION);
-
- emit_library_call (fun, LCT_NORMAL, VOIDmode, 1, lab, Pmode);
+ if (NO_PROFILE_COUNTERS)
+ {
+ emit_library_call (fun, LCT_NORMAL, VOIDmode, 0);
+ }
+ else
+ {
+ ASM_GENERATE_INTERNAL_LABEL (buf, "LP", labelno);
+ lab = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
+ emit_library_call (fun, LCT_NORMAL, VOIDmode, 1, lab, Pmode);
+ }
}
\f
#ifdef OBJECT_FORMAT_ELF