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)