Temporary fix for partitioning problems; real fix coming soon.
From-SVN: r98051
This commit is contained in:
parent
997de8ed6b
commit
b3b51ded80
3 changed files with 23 additions and 10 deletions
|
@ -1,3 +1,13 @@
|
||||||
|
2005-04-12 Caroline Tice <ctice@apple.com>
|
||||||
|
|
||||||
|
Temporary fix for partitioning problems.
|
||||||
|
* passes.c (rest_of_handle_final): Remove code that
|
||||||
|
frees unlikely_text_section_name,
|
||||||
|
* varasm.c (assemble_start_function): Test for partitioning
|
||||||
|
flag before writing out section labels.
|
||||||
|
(assemble_end_function): Test for partitioning flag before
|
||||||
|
writing out section labels.
|
||||||
|
|
||||||
2005-04-12 Steven Bosscher <stevenb@suse.de>
|
2005-04-12 Steven Bosscher <stevenb@suse.de>
|
||||||
Stuart Hastings <stuart@apple.com>
|
Stuart Hastings <stuart@apple.com>
|
||||||
Jan Hubicka <jh@suse.cz>
|
Jan Hubicka <jh@suse.cz>
|
||||||
|
|
|
@ -328,8 +328,7 @@ rest_of_handle_final (void)
|
||||||
|
|
||||||
timevar_push (TV_SYMOUT);
|
timevar_push (TV_SYMOUT);
|
||||||
(*debug_hooks->function_decl) (current_function_decl);
|
(*debug_hooks->function_decl) (current_function_decl);
|
||||||
if (unlikely_text_section_name)
|
|
||||||
free (unlikely_text_section_name);
|
|
||||||
timevar_pop (TV_SYMOUT);
|
timevar_pop (TV_SYMOUT);
|
||||||
|
|
||||||
ggc_collect ();
|
ggc_collect ();
|
||||||
|
|
20
gcc/varasm.c
20
gcc/varasm.c
|
@ -1303,7 +1303,8 @@ assemble_start_function (tree decl, const char *fnname)
|
||||||
/* Switch to the correct text section for the start of the function. */
|
/* Switch to the correct text section for the start of the function. */
|
||||||
|
|
||||||
function_section (decl);
|
function_section (decl);
|
||||||
if (!hot_label_written)
|
if (flag_reorder_blocks_and_partition
|
||||||
|
&& !hot_label_written)
|
||||||
ASM_OUTPUT_LABEL (asm_out_file, hot_section_label);
|
ASM_OUTPUT_LABEL (asm_out_file, hot_section_label);
|
||||||
|
|
||||||
/* Tell assembler to move to target machine's alignment for functions. */
|
/* Tell assembler to move to target machine's alignment for functions. */
|
||||||
|
@ -1377,13 +1378,16 @@ assemble_end_function (tree decl, const char *fnname)
|
||||||
}
|
}
|
||||||
/* Output labels for end of hot/cold text sections (to be used by
|
/* Output labels for end of hot/cold text sections (to be used by
|
||||||
debug info.) */
|
debug info.) */
|
||||||
save_text_section = in_section;
|
if (flag_reorder_blocks_and_partition)
|
||||||
unlikely_text_section ();
|
{
|
||||||
ASM_OUTPUT_LABEL (asm_out_file, cold_section_end_label);
|
save_text_section = in_section;
|
||||||
text_section ();
|
unlikely_text_section ();
|
||||||
ASM_OUTPUT_LABEL (asm_out_file, hot_section_end_label);
|
ASM_OUTPUT_LABEL (asm_out_file, cold_section_end_label);
|
||||||
if (save_text_section == in_unlikely_executed_text)
|
text_section ();
|
||||||
unlikely_text_section ();
|
ASM_OUTPUT_LABEL (asm_out_file, hot_section_end_label);
|
||||||
|
if (save_text_section == in_unlikely_executed_text)
|
||||||
|
unlikely_text_section ();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Assemble code to leave SIZE bytes of zeros. */
|
/* Assemble code to leave SIZE bytes of zeros. */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue