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 *

Reply via email to