[Bug bootstrap/48474] New: gcc fails to bootstrap

mrs at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Apr 5 22:42:00 GMT 2011


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

           Summary: gcc fails to bootstrap
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: mrs@gcc.gnu.org


I have a target port, but with the update to 4.6.0 from 4.5.1, it now fails to
build because it is trying to use dwarf instead of sjlj based exception
handling.

I don't have an eh_return, and without this, the code in
default_except_unwind_info will try and use UI_DWARF2 which can't possibly
work.

If I add code to turn off UI_DWARF2 when there is no eh_return pattern,
everything builds again.

diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index 225831b..e8afa81 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -1365,6 +1365,14 @@ default_except_unwind_info (struct gcc_options *opts
ATTRIBUTE_UNUSED)
     return UI_SJLJ;
 #endif

+#ifndef EH_RETURN_HANDLER_RTX
+#ifndef HAVE_eh_return
+#define HAVE_eh_return 0
+#endif
+  if (!HAVE_eh_return)
+    return UI_SJLJ;
+#endif
+
   /* ??? Change all users to the hook, then poison this.  */
 #ifdef DWARF2_UNWIND_INFO
   if (DWARF2_UNWIND_INFO)



More information about the Gcc-bugs mailing list