Building 2.6.6 ia64 Linux kernel caused ICE.
Created attachment 6357 [details] A testcase [hjl@gnu-4 linux-2.6.6]$ /usr/gcc-3.4/bin/gcc -frename-registers -O2 -mconstant-gp -c foo.c foo.c: In function `ext2_lookup': foo.c:66: internal compiler error: in verify_local_live_at_start, at flow.c:546 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Does removing -frename-registers fix the bug?
Removing frename-registers will make gcc to finish. But I won't call it fix. Gcc 3.2 has no problem. I was told gcc version 3.4 20031201 (experimental) was OK.
I verified that this patch http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02263.html caused the regression.
But that patch should not cause any problem if there is problem in is caused by one of the two passes which were interchanged.
This thread http://gcc.gnu.org/ml/gcc-patches/2004-04/msg00961.html leads changes which fix the problem on the mainline. I think we should either backport those changes to 3.4 or revert the patch which triggered the regression.
You mean -fweb fixes it?
After this checkin http://gcc.gnu.org/ml/gcc-cvs/2004-04/msg00552.html mainline is OK. But I am sure if that patch requires other additonal patches.
Yes that one required more patches, but what you are saying that -fweb fixes the problem as that is what the patch does?
What I was saying was before http://gcc.gnu.org/ml/gcc-cvs/2004-04/msg00552.html gcc failed the testcase. After http://gcc.gnu.org/ml/gcc-cvs/2004-04/msg00552.html gcc passed the testcase. Nothing more.
But that means that -fweb fixes the problem as that is what the patch does, if it does then there is still a bug somewhere else.
The thread http://gcc.gnu.org/ml/gcc-patches/2004-04/msg00961.html mentions -frename-registers, which triggers the gcc bug when compiling my testcase.
I think that -frename-registers should be disabled at -O3 for 3.4 branch as well. Ideally, the compiler should bootstrap at -O3 on all platforms.
Subject: Re: [3.4 regression] Gcc 3.4.1 failed to build ia64 2.6.6 kernel hjl at lucon dot org wrote: > [hjl@gnu-4 linux-2.6.6]$ /usr/gcc-3.4/bin/gcc -frename-registers -O2 > -mconstant-gp -c foo.c > foo.c: In function `ext2_lookup': > foo.c:66: internal compiler error: in verify_local_live_at_start, at flow.c:546 When -frename-registers got added to -O2 on mainline, there were IA-64 bootstrap failures. I had to write a patch for that. The patch can be found here: http://gcc.gnu.org/ml/gcc-patches/2004-04/msg01328.html With this patch applied, the testcase compiles OK. So it looks like we need to backport this patch onto the gcc-3.4 branch. I am leaving for the GCC Summit tomorrow, so I won't be able to test this until next week.
*** Bug 15681 has been marked as a duplicate of this bug. ***
Subject: Bug 15569 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_4-branch Changes by: wilson@gcc.gnu.org 2004-06-08 06:56:45 Modified files: gcc : ChangeLog gcc/config/ia64: ia64.md Log message: PR target/15569 * config/ia64/ia64.md (call_value_nogp): Add constraints for op0. (vall_value_gp): Likewise. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.478&r2=2.2326.2.479 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/ia64/ia64.md.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.119.2.3&r2=1.119.2.4
Mine.
Fixed.
Subject: Bug 15569 CVSROOT: /cvs/gcc Module name: gcc Changes by: jakub@gcc.gnu.org 2004-06-10 08:43:16 Modified files: gcc/testsuite : ChangeLog Added files: gcc/testsuite/gcc.dg: 20040609-1.c Log message: PR target/15569 PR rtl-optimization/15681 * gcc.dg/20040609-1.c: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.3836&r2=1.3837 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20040609-1.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
Subject: Bug 15569 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_4-branch Changes by: jakub@gcc.gnu.org 2004-06-10 08:46:10 Modified files: gcc/testsuite : ChangeLog Added files: gcc/testsuite/gcc.dg: 20040609-1.c Log message: PR target/15569 PR rtl-optimization/15681 * gcc.dg/20040609-1.c: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3389.2.201&r2=1.3389.2.202 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20040609-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.1.2.1
Subject: Bug 15569 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_3-rhl-branch Changes by: jakub@gcc.gnu.org 2004-06-28 22:28:32 Modified files: gcc/testsuite : ChangeLog Added files: gcc/testsuite/gcc.dg: 20040609-1.c Log message: PR target/15569 PR rtl-optimization/15681 * gcc.dg/20040609-1.c: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=1.2261.2.170.2.59&r2=1.2261.2.170.2.60 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20040609-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.1.10.1
Subject: Bug 15569 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_2-rhl8-branch Changes by: jakub@gcc.gnu.org 2004-07-01 10:52:31 Modified files: gcc/testsuite : ChangeLog Added files: gcc/testsuite/gcc.dg: 20040609-1.c Log message: PR target/15569 PR rtl-optimization/15681 * gcc.dg/20040609-1.c: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.1672.2.166.2.8.2.82&r2=1.1672.2.166.2.8.2.83 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20040609-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=NONE&r2=1.1.12.1