Doing diffs in final.c.~1~: *** final.c.~1~ Sat Apr 10 09:03:33 2004 --- final.c Sat Apr 10 13:03:35 2004 *************** final_scan_insn (rtx insn, FILE *file, i *** 1722,1728 **** are writing to appropriately. */ if (flag_reorder_blocks_and_partition ! && in_unlikely_text_section() && !scan_ahead_for_unlikely_executed_note (insn)) text_section (); --- 1722,1728 ---- are writing to appropriately. */ if (flag_reorder_blocks_and_partition ! && in_unlikely_text_section () && !scan_ahead_for_unlikely_executed_note (insn)) text_section (); -------------- Doing diffs in varasm.c.~1~: *** varasm.c.~1~ Sat Apr 10 09:03:36 2004 --- varasm.c Sat Apr 10 14:47:50 2004 *************** static bool asm_emit_uninitialised (tree *** 154,161 **** unsigned HOST_WIDE_INT); static void mark_weak (tree); ! enum in_section { no_section, in_text, in_unlikely_executed_text, in_data, ! in_named #ifdef BSS_SECTION_ASM_OP , in_bss #endif --- 154,160 ---- unsigned HOST_WIDE_INT); static void mark_weak (tree); ! enum in_section { no_section, in_text, in_data, in_named #ifdef BSS_SECTION_ASM_OP , in_bss #endif *************** text_section (void) *** 208,214 **** if (in_section != in_text) { in_section = in_text; ! fprintf (asm_out_file, SECTION_FORMAT_STRING, NORMAL_TEXT_SECTION_NAME); } } --- 207,213 ---- if (in_section != in_text) { in_section = in_text; ! fprintf (asm_out_file, "%s\n", TEXT_SECTION_ASM_OP); } } *************** text_section (void) *** 217,242 **** void unlikely_text_section (void) { ! if ((in_section != in_unlikely_executed_text) ! && (in_section != in_named ! || strcmp (in_named_name, UNLIKELY_EXECUTED_TEXT_SECTION_NAME) != 0)) { ! #ifdef TARGET_ASM_NAMED_SECTION ! ! named_section (NULL_TREE, UNLIKELY_EXECUTED_TEXT_SECTION_NAME, 0); ! ! #else ! in_section = in_unlikely_executed_text; ! fprintf (asm_out_file, SECTION_FORMAT_STRING, ! UNLIKELY_EXECUTED_TEXT_SECTION_NAME); ! #endif /* ifdef TARGET_ASM_NAMED_SECTION */ ! if (!unlikely_section_label_printed) { ! fprintf (asm_out_file, "__%s_unlikely_section:\n", ! current_function_name ()); ! unlikely_section_label_printed = true; } } } /* Tell assembler to switch to data section. */ --- 216,236 ---- void unlikely_text_section (void) { ! if (targetm.have_named_sections) { ! if (! in_unlikely_text_section ()) { ! named_section (NULL_TREE, UNLIKELY_EXECUTED_TEXT_SECTION_NAME, 0); ! if (!unlikely_section_label_printed) ! { ! fprintf (asm_out_file, "__%s_unlikely_section:\n", ! current_function_name ()); ! unlikely_section_label_printed = true; ! } } } + else + text_section (); } /* Tell assembler to switch to data section. */ *************** in_text_section (void) *** 286,292 **** int in_unlikely_text_section (void) { ! return in_section == in_unlikely_executed_text; } /* Determine if we're in the data section. */ --- 280,287 ---- int in_unlikely_text_section (void) { ! return in_section == in_named ! && strcmp (in_named_name, UNLIKELY_EXECUTED_TEXT_SECTION_NAME) != 0; } /* Determine if we're in the data section. */ *************** asm_output_aligned_bss (FILE *file, tree *** 528,534 **** void function_section (tree decl) { ! if (scan_ahead_for_unlikely_executed_note (get_insns())) unlikely_text_section (); else { --- 523,529 ---- void function_section (tree decl) { ! if (scan_ahead_for_unlikely_executed_note (get_insns ())) unlikely_text_section (); else { --------------