This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/54902] [4.7 Regression], ICE (segfault) building on arm-linux-gnueabi
- From: "zhenqiang.chen at linaro dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 23 Oct 2012 05:35:17 +0000
- Subject: [Bug target/54902] [4.7 Regression], ICE (segfault) building on arm-linux-gnueabi
- Auto-submitted: auto-generated
- References: <bug-54902-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54902
--- Comment #4 from zhenqiang.chen at linaro dot org 2012-10-23 05:35:17 UTC ---
Created attachment 28512
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28512
gdb backtrace
Root cause:
PRE bases on the result of value numbering (run_scc_vn). At the end, it
free_scc_vn. But before free_scc_vn, it might call cleanup_tree_cfg ();
if (do_eh_cleanup || do_ab_cleanup)
cleanup_tree_cfg ();
cleanup_tree_cfg might call make_ssa_name which might reuse some "name" from
the FREE_SSANAMES list. If the VN_INFO of the "name" is NULL, free_scc_vn will
"Segmentation fault".
Richard's patch makes "do_eh_cleanup" to false. So cleanup_tree_cfg is not
called in PRE. Then no new ssa name will be created.
bt.log shows the gdb backtrace to create a new ssa name.