This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/48474] New: gcc fails to bootstrap
- From: "mrs at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 5 Apr 2011 22:42:03 +0000
- Subject: [Bug bootstrap/48474] New: gcc fails to bootstrap
- Auto-submitted: auto-generated
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)