http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916
--- Comment #19 from Jan Hubicka <hubicka at ucw dot cz> 2010-12-14 13:18:30
UTC ---
Hi,
does the following patch fix the problem?
darwin_text_section no longer needs to care about hot/cold code since this is
already done in darwin_function_section.
In fact you might additionally consider putting
return (DECL_WEAK (decl)
? darwin_sections[text_coal_section]
: text_section);
into places returning NULL in darwin_function_section, removing case
SECCAT_TEXT
from machopic_select_section undefining USE_SELECT_SECTION_FOR_FUNCTIONS
as suggested by rth as cleanup.
Honza
Index: opts.c
===================================================================
--- opts.c (revision 167794)
+++ opts.c (working copy)
@@ -738,6 +738,9 @@ finish_options (struct gcc_options *opts
opts->x_flag_reorder_blocks = 1;
}
+ if (opts->x_flag_reorder_blocks_and_partition)
+ opts->x_flag_reorder_blocks = 1;
+
/* If the target requested unwind info, then turn off the partitioning
optimization with a different message. Likewise, if the target does not
support named sections. */
Index: config/darwin.c
===================================================================
--- config/darwin.c (revision 167794)
+++ config/darwin.c (working copy)
@@ -1145,16 +1145,11 @@ darwin_mark_decl_preserved (const char *
}
static section *
-darwin_text_section (int reloc, int weak)
+darwin_text_section (int weak)
{
- if (reloc)
- return (weak
- ? darwin_sections[text_unlikely_coal_section]
- : unlikely_text_section ());
- else
- return (weak
- ? darwin_sections[text_coal_section]
- : text_section);
+ return (weak
+ ? darwin_sections[text_coal_section]
+ : text_section);
}
static section *