Bug 15761 - [3.4 Regression] internal compiler error: in do_SUBST, at combine.c:446
|
Bug#:
15761
|
Product: gcc
|
Version: 3.4.0
|
|
Host:
|
Target: i486-slackware-linux
|
Build:
|
|
Status: RESOLVED
|
Severity: critical
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: unassigned@gcc.gnu.org
|
Reported By: ashutiwary@yahoo.com
|
|
Component: rtl-optimization
|
Target Milestone: 3.4.1
|
|
Summary: [3.4 Regression] internal compiler error: in do_SUBST, at combine.c:446
|
|
Keywords: ice-on-valid-code, monitored, patch
|
|
Opened: 2004-06-01 10:36
|
|
Description:
|
Last confirmed: 2004-06-01 15:49
|
Opened: 2004-06-01 10:36
|
ashu@shooze:/usr/src/ashu/net/ethereal-0.10.4/epan$ gcc -v -save-temps
-DHAVE_CONFIG_H -I. -I. -I.. -I./.. -I/usr/local/include -DINET6 -O3
-mtune=pentium4 -march=pentium4 -mfpmath=sse -msse2 -minline-all-stringops
-ffast-math -funroll-all-loops -fomit-frame-pointer -Dlinux -fno-strict-aliasing
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-I/usr/lib/perl5/5.8.4/i486-linux/CORE -I. -I/usr/local/include
-I/usr/local/include -DINET6 "-D_U_=__attribute__((unused))" -Wall -W -O3
-mtune=pentium4 -march=pentium4 -mfpmath=sse -msse2 -minline-all-stringops
-ffast-math -funroll-all-loops -fomit-frame-pointer -I/usr/local/include
-pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include
-I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/X11R6/include
-I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-DINET6 -O3 -mtune=pentium4 -march=pentium4 -mfpmath=sse -msse2
-minline-all-stringops -ffast-math -funroll-all-loops -fomit-frame-pointer
-Dlinux -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/lib/perl5/5.8.4/i486-linux/CORE -I.
-I/usr/local/include -I/usr/local/include -c ../packet-isup.c -MT packet-isup.lo
-MD -MP -MF .deps/packet-isup.TPlo -fPIC -DPIC -o packet-isup.lo
Reading specs from /usr/lib/gcc/i486-slackware-linux/3.4.0/specs
Configured with: ../gcc-3.4.0/configure --prefix=/usr --enable-shared
--enable-threads=posix --enable-__cxa_atexit --disable-checking --with-gnu-ld
--verbose --target=i486-slackware-linux --host=i486-slackware-linux
Thread model: posix
gcc version 3.4.0
/usr/libexec/gcc/i486-slackware-linux/3.4.0/cc1 -E -quiet -v -I. -I. -I..
-I./.. -I/usr/local/include -I/usr/local/include
-I/usr/lib/perl5/5.8.4/i486-linux/CORE -I. -I/usr/local/include
-I/usr/local/include -I/usr/local/include -I/usr/include/gtk-2.0
-I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0
-I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -I/usr/local/include
-I/usr/lib/perl5/5.8.4/i486-linux/CORE -I. -I/usr/local/include
-I/usr/local/include -MD packet-isup.d -MF .deps/packet-isup.TPlo -MP -MT
packet-isup.lo -MQ packet-isup.lo -D_REENTRANT -DHAVE_CONFIG_H -DINET6 -Dlinux
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DINET6 -D_U_=__attribute__((unused))
-DINET6 -Dlinux -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPIC
../packet-isup.c -mtune=pentium4 -march=pentium4 -mfpmath=sse -msse2
-minline-all-stringops -mtune=pentium4 -march=pentium4 -mfpmath=sse -msse2
-minline-all-stringops -mtune=pentium4 -march=pentium4 -mfpmath=sse -msse2
-minline-all-stringops -Wall -W -ffast-math -funroll-all-loops
-fomit-frame-pointer -fno-strict-aliasing -ffast-math -funroll-all-loops
-fomit-frame-pointer -ffast-math -funroll-all-loops -fomit-frame-pointer
-fno-strict-aliasing -fPIC -O3 -O3 -O3 -o packet-isup.i
ignoring nonexistent directory
"/usr/lib/gcc/i486-slackware-linux/3.4.0/../../../../i486-slackware-linux/include"
ignoring duplicate directory "."
ignoring duplicate directory "./.."
ignoring duplicate directory "/usr/local/include"
as it is a non-system directory that duplicates a system directory
ignoring duplicate directory "/usr/local/include"
as it is a non-system directory that duplicates a system directory
ignoring duplicate directory "."
ignoring duplicate directory "/usr/local/include"
as it is a non-system directory that duplicates a system directory
ignoring duplicate directory "/usr/local/include"
as it is a non-system directory that duplicates a system directory
ignoring duplicate directory "/usr/local/include"
as it is a non-system directory that duplicates a system directory
ignoring duplicate directory "/usr/local/include"
as it is a non-system directory that duplicates a system directory
ignoring duplicate directory "/usr/lib/perl5/5.8.4/i486-linux/CORE"
ignoring duplicate directory "."
ignoring duplicate directory "/usr/local/include"
as it is a non-system directory that duplicates a system directory
ignoring duplicate directory "/usr/local/include"
as it is a non-system directory that duplicates a system directory
#include "..." search starts here:
#include <...> search starts here:
.
..
/usr/lib/perl5/5.8.4/i486-linux/CORE
/usr/include/gtk-2.0
/usr/lib/gtk-2.0/include
/usr/include/atk-1.0
/usr/include/pango-1.0
/usr/X11R6/include
/usr/include/freetype2
/usr/include/glib-2.0
/usr/lib/glib-2.0/include
/usr/local/include
/usr/lib/gcc/i486-slackware-linux/3.4.0/include
/usr/include
End of search list.
/usr/libexec/gcc/i486-slackware-linux/3.4.0/cc1 -fpreprocessed packet-isup.i
-quiet -dumpbase packet-isup.c -mtune=pentium4 -march=pentium4 -mfpmath=sse
-msse2 -minline-all-stringops -mtune=pentium4 -march=pentium4 -mfpmath=sse
-msse2 -minline-all-stringops -mtune=pentium4 -march=pentium4 -mfpmath=sse
-msse2 -minline-all-stringops -auxbase-strip packet-isup.lo -O3 -O3 -O3 -Wall -W
-version -ffast-math -funroll-all-loops -fomit-frame-pointer
-fno-strict-aliasing -ffast-math -funroll-all-loops -fomit-frame-pointer
-ffast-math -funroll-all-loops -fomit-frame-pointer -fno-strict-aliasing -fPIC
-o packet-isup.s
GNU C version 3.4.0 (i486-slackware-linux)
compiled by GNU C version 3.4.0.
GGC heuristics: --param ggc-min-expand=90 --param ggc-min-heapsize=113015
../packet-isup.c: In function `dissect_isup_application_transport_parameter':
../packet-isup.c:2859: internal compiler error: in do_SUBST, at combine.c:446
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
system: ibm thinkpad t30 model 2366-qu5 (intel pentium 4 mobile 2.4 ghz, 1gb ram)
slackware gnu/linux (from "slackware-current" tree as of 30 may 2004)
linux kernel version: 2.4.26
glibc v 2.3.2
this bugzilla form doesn't seem to have a place for me to attach the "*.i" file
- i'm hoping that after i press "commit" i'll be presented with an opportunity
to attach the preprocessed file....
Created an attachment (id=6444) [edit]
bzip2'd preprocessed source (from ethereal v 0.10.4:packet-isup.c)
this is the preprocessed source of the file "packet-isup.c" from the ethereal v
0.10.4 package; the file was created by descending into the "epan" dir in the
ethereal source.
Created an attachment (id=6445) [edit]
corrected preprocessed file...
corrected bzip2'd preprocessed source (from ethereal v 0.10.4:packet-isup.c)
generated from "gcc -v -save-temps ..."; incorrectly sent assembly output
previously
Created an attachment (id=6447) [edit]
small testcase (63 bytes)
small testcase:
cat > bug.i << EOF
void foo (unsigned char bar)
{
while (bar > 0)
bar -= 3;
}
EOF
gcc bug.i -O1 -funroll-all-loops -march=pentium4
Confirmed.
I think this was fixed on the mainline by:
PR c++/15463
* loop-iv.c (iv_number_of_iterations): Use trunc_int_for_mode on
result of inverse.
i was able to successfully compile ethereal after removing the
"-funroll-all-loops" option - just to confirmed serge's/andrew's comments above
Andrew --
Would you please backport the patch to 3.4.1 and attach it here?
-- Mark
Mark, there is no loop-iv.c on the 3.4.0 branch and the function does not exist
either so I cannot even
try to backport the fix.