mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-04 22:33:27 +00:00
61 lines
1.7 KiB
C
61 lines
1.7 KiB
C
--- final.c.orig Sun Nov 26 10:50:00 1995
|
|
+++ final.c Mon Mar 20 13:29:11 2000
|
|
@@ -345,6 +345,8 @@
|
|
/* zero word */
|
|
assemble_integer (const0_rtx, UNITS_PER_WORD, 1);
|
|
|
|
+ fprintf(asm_out_file,".stabs \"bbset\", 25, 0, 0, LPBX0\n");
|
|
+
|
|
/* address of filename */
|
|
ASM_GENERATE_INTERNAL_LABEL (name, "LPBX", 1);
|
|
assemble_integer (gen_rtx (SYMBOL_REF, Pmode, name), UNITS_PER_WORD, 1);
|
|
@@ -914,6 +916,9 @@
|
|
leaf_renumber_regs (first);
|
|
#endif
|
|
|
|
+ if (profile_block_flag)
|
|
+ add_bb (file);
|
|
+
|
|
/* The Sun386i and perhaps other machines don't work right
|
|
if the profiling code comes after the prologue. */
|
|
#ifdef PROFILE_BEFORE_PROLOGUE
|
|
@@ -971,14 +976,18 @@
|
|
profile_function (file)
|
|
FILE *file;
|
|
{
|
|
+#ifndef NO_PROFILE_DATA
|
|
int align = MIN (BIGGEST_ALIGNMENT, POINTER_SIZE);
|
|
+#endif /* not NO_PROFILE_DATA */
|
|
int sval = current_function_returns_struct;
|
|
int cxt = current_function_needs_context;
|
|
|
|
+#ifndef NO_PROFILE_DATA
|
|
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, POINTER_SIZE / BITS_PER_UNIT, 1);
|
|
+#endif /* not NO_PROFILE_DATA */
|
|
|
|
text_section ();
|
|
|
|
@@ -1066,6 +1075,9 @@
|
|
FUNCTION_EPILOGUE (file, get_frame_size ());
|
|
#endif
|
|
|
|
+ if (profile_block_flag)
|
|
+ add_bb (file);
|
|
+
|
|
#ifdef SDB_DEBUGGING_INFO
|
|
if (write_symbols == SDB_DEBUG)
|
|
sdbout_end_epilogue ();
|
|
@@ -1487,6 +1499,9 @@
|
|
if (prescan > 0)
|
|
break;
|
|
new_block = 1;
|
|
+#ifdef FINAL_PRESCAN_INSN
|
|
+ FINAL_PRESCAN_INSN (insn, NULL_RTX, 0);
|
|
+#endif
|
|
#ifdef SDB_DEBUGGING_INFO
|
|
if (write_symbols == SDB_DEBUG && LABEL_NAME (insn))
|
|
sdbout_label (insn);
|