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: unassig...@gcc.gnu.org ReportedBy: m...@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)