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