[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
iains at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Dec 13 18:22:00 GMT 2010
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)
More information about the Gcc-bugs
mailing list