http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916

Iain Sandoe <iains at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2010.12.13 18:22:21
                 CC|                            |iains at gcc dot gnu.org
     Ever Confirmed|0                           |1

--- Comment #7 from Iain Sandoe <iains at gcc dot gnu.org> 2010-12-13 18:22:21 
UTC ---
the problem is infinite recursion -- the bailing of darwin_function_section
when reodering is off causes a fallback to darwin_text_section ()  -- which
calls unlikely_text_section () ... and we get a stack meltdown...

here is fix ... but I dunno if it's the "Right" fix --- so I'll let Mike &|
Honza comment... 


Index: gcc/config/darwin.c
===================================================================
--- gcc/config/darwin.c    (revision 167755)
+++ gcc/config/darwin.c    (working copy)
@@ -1150,7 +1150,7 @@ darwin_text_section (int reloc, int weak)
   if (reloc)
     return (weak
         ? darwin_sections[text_unlikely_coal_section]
-        : unlikely_text_section ());
+        : darwin_sections[text_unlikely_section]);
   else
     return (weak
         ? darwin_sections[text_coal_section]
Index: gcc/config/darwin-sections.def
===================================================================
--- gcc/config/darwin-sections.def    (revision 167755)
+++ gcc/config/darwin-sections.def    (working copy)
@@ -30,6 +30,8 @@ along with GCC; see the file COPYING3.  If not see
 /* .text handled in varasm.c  */
 DEF_SECTION (text_coal_section, SECTION_CODE|SECTION_NO_ANCHOR,
          ".section __TEXT,__textcoal_nt,coalesced,pure_instructions", 0)
+DEF_SECTION (text_unlikely_section, SECTION_CODE|SECTION_NO_ANCHOR,
+         ".section __TEXT,__unlikely,regular,pure_instructions", 0)
 DEF_SECTION (text_unlikely_coal_section, SECTION_CODE|SECTION_NO_ANCHOR,
          ".section __TEXT,__text_unlikely_coal,"
          "coalesced,pure_instructions", 0)

Reply via email to