* final.c (profile_function): Do not emit profile counters in
the data section, if NO_PROFILE_COUNTERS is defined.
* tm.texi: Document NO_PROFILE_COUNTERS. Update doc for
FUNCTION_PROFILER.
from 2000-10-02 David O'Brien <obrien@dragon.nuxi.com>
* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Define.
Approved by: Bernd Schmidt <bernds@redhat.com>
<Pine.LNX.4.30.
0103191549340.1311-100000@host140.cambridge.redhat.com>
From-SVN: r40669
+2001-03-20 David O'Brien <obrien@FreeBSD.org>
+
+ from 2000-07-12 Zack Weinberg <zack@wolery.cumb.org>
+ * final.c (profile_function): Do not emit profile counters in
+ the data section, if NO_PROFILE_COUNTERS is defined.
+ * tm.texi: Document NO_PROFILE_COUNTERS. Update doc for
+ FUNCTION_PROFILER.
+
+ from 2000-10-02 David O'Brien <obrien@dragon.nuxi.com>
+ * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Define.
+
2001-03-19 Bernd Schmidt <bernds@redhat.com>
* version.c: Bump.
: ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
: (-1))
+#undef NO_PROFILE_COUNTERS
+#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
profile_function (file)
FILE *file;
{
+#ifndef NO_PROFILE_COUNTERS
int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
+#endif
#if defined(ASM_OUTPUT_REG_PUSH)
#if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
int sval = current_function_returns_struct;
#endif
#endif /* ASM_OUTPUT_REG_PUSH */
+#ifndef NO_PROFILE_COUNTERS
data_section ();
ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
+#endif
function_section (current_function_decl);
system's installed C compiler and look at the assembler code that
results.
+@findex NO_PROFILE_COUNTERS
+@item NO_PROFILE_COUNTERS
+Define this macro if the @code{mcount} subroutine on your system does
+not need a counter variable allocated for each function. This is true
+for almost all modern implementations. If you define this macro, you
+must not use the @var{labelno} argument to @code{FUNCTION_PROFILER}.
+
@findex PROFILE_BEFORE_PROLOGUE
@item PROFILE_BEFORE_PROLOGUE
Define this macro if the code for function profiling should come before