This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/32581] New: make profiledbootstrap - stageprofile - gcc/ada/a-except.adb:1301: error: control flow in the middle of basic block 20
- From: "rob1weld at aol dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 2 Jul 2007 09:17:53 -0000
- Subject: [Bug bootstrap/32581] New: make profiledbootstrap - stageprofile - gcc/ada/a-except.adb:1301: error: control flow in the middle of basic block 20
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
My other report mentions "GNAT BUG DETECTED ada/ali.adb:2265"
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32024
Shows breakage in a different location of the build. That report was concerned
with fold checking and was closed on the basis that non-profiled make was
fixed.
The following bug report claims "make profiledbootstrap" was FIXED @ 121554 but
does not mention if they built Ada, and it was at latest from 20070202:
[4.3 Regression] ICE with -fprofile-use
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30650
I do not believe my search turned up any dupes and that this report is new.
One problem _might_ be that when the "GNAT BUG DETECTED" 'box' comes up it
doesn't list files that are to be included with the report (as shown in my
other bug report above http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32024#c5 ).
The bug that this report is the subject of is when I do a "make
profiledbootstrap" after configuring like this:
# prev-gcc/xgcc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /root/downloads/gcc-4_3-trunk/configure --verbose
--enable-languages=c,ada,c++,fortran,java,objc,obj-c++ --prefix=/usr/test
--enable-objc-gc --enable-concept-checks --disable-multilib
--with-gxx-include-dir=/usr/test/include/c++/4.3 --enable-libstdcxx-debug
--enable-static --enable-shared --enable-initfini-array --enable-__cxa_atexit
--enable-threads=posix --enable-version-specific-runtime-libs --enable-libssp
--enable-libmudflap --enable-libgomp --disable-werror --enable-nls
--with-included-gettext --enable-decimal-float --enable-debug
--enable-java-gc=boehm --with-x --x-includes=/usr/X11R6/include
--x-libraries=/usr/X11R6/lib --enable-java-awt=gtk,xlib --enable-gtk-cairo
--enable-qt-peer --enable-xmlj --enable-gconf-peer --enable-tool-wrappers
--enable-portable-native-sync --enable-examples --with-dwarf2 --with-stabs
--enable-hash-synchronization --enable-gc-debug --enable-interpreter
--with-system-zlib --enable-libada --with-tls --with-tune=athlon-xp
--with-cpu=athlon-xp --with-arch=athlon-xp
--enable-stage1-checking=assert,df,fold,gc,misc,rtl,rtlflag,runtime,tree
Thread model: posix
gcc version 4.3.0 20070701 (experimental)
I get this error:
build/genchecksum cc1-dummy > cc1-checksum.c
...
/opt/gcc-4_3-build-profile-1/prev-gcc/xgcc ... gcc/gcov.c -o gcov.o
/opt/gcc-4_3-build-profile-1/prev-gcc/xgcc ... gcc/errors.c -o errors.o
/opt/gcc-4_3-build-profile-1/prev-gcc/xgcc ... -lmpfr -lgmp -o gcov
/opt/gcc-4_3-build-profile-1/prev-gcc/xgcc ... gcc/gcov-dump.c -o gcov-dump.o
/opt/gcc-4_3-build-profile-1/prev-gcc/xgcc ... -lmpfr -lgmp -o gcov-dump
/opt/gcc-4_3-build-profile-1/prev-gcc/xgcc ... gcc/ada/ada.ads -o ada/ada.o
/opt/gcc-4_3-build-profile-1/prev-gcc/xgcc ... gcc/ada/a-charac.ads -o
ada/a-charac.o
/opt/gcc-4_3-build-profile-1/prev-gcc/xgcc ... gcc/ada/a-chlat1.ads -o
ada/a-chlat1.o
/opt/gcc-4_3-build-profile-1/./prev-gcc/xgcc
-B/opt/gcc-4_3-build-profile-1/./prev-gcc/ -B/usr/test/i686-pc-linux-gnu/bin/
-c -O2 -g -fomit-frame-pointer -fprofile-generate -gnatpg -gnata -g -O1
-fno-inline \
-nostdinc -I- -I. -Iada -I/root/downloads/gcc-4_3-trunk/gcc/ada
/root/downloads/gcc-4_3-trunk/gcc/ada/a-except.adb -o ada/a-except.o
/root/downloads/gcc-4_3-trunk/gcc/ada/a-except.adb: In function
'Ada.Exceptions.Raise_From_Controlled_Operation':
/root/downloads/gcc-4_3-trunk/gcc/ada/a-except.adb:1301: error: control flow in
the middle of basic block 20
/root/downloads/gcc-4_3-trunk/gcc/ada/a-except.adb:1301: error: control flow in
the middle of basic block 20
/root/downloads/gcc-4_3-trunk/gcc/ada/a-except.adb:1301: error: control flow in
the middle of basic block 20
/root/downloads/gcc-4_3-trunk/gcc/ada/a-except.adb:1301: error: control flow in
the middle of basic block 20
/root/downloads/gcc-4_3-trunk/gcc/ada/a-except.adb:1301: error: control flow in
the middle of basic block 20
+===========================GNAT BUG DETECTED==============================+
| 4.3.0 20070701 (experimental) (i686-pc-linux-gnu) verify_flow_info failed|
| Error detected at a-except.adb:1301:1 |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html. |
| Use a subject line meaningful to you and us to track the bug. |
| Include the entire contents of this bug box in the report. |
| Include the exact gcc or gnatmake command that you entered. |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files). |
+==========================================================================+
Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.
raised TYPES.UNRECOVERABLE_ERROR : comperr.adb:399
make[3]: *** [ada/a-except.o] Error 1
make[3]: Leaving directory `/opt/gcc-4_3-build-profile-1/gcc'
make[2]: *** [all-stageprofile-gcc] Error 2
make[2]: Leaving directory `/opt/gcc-4_3-build-profile-1'
make[1]: *** [stageprofile-bubble] Error 2
make[1]: Leaving directory `/opt/gcc-4_3-build-profile-1'
make: *** [profiledbootstrap] Error 2
Note that it says "Please include these source files with error report" but
there are no files listed.
The subject of this report is not that fault but that I can not use "make
profiledbootstrap" with all languages enabled. I'll strip Ada off the list and
see if I can re-start the build without a "make clean".
The reason I don't want to type "make clean" is that each file over 700K takes
a while with profiling on and a few are over a meg, thus quite slow.
The worst is this:
ls -lrtA /opt/gcc-4_3-build-profile-1/gcc/
...
-rw-r--r-- 1 root root 10 Jul 1 22:07 s-attrtab
-rw-r--r-- 1 root root 3183312 Jul 1 22:07 insn-attrtab.c
-rw-r--r-- 1 root root 10 Jul 1 22:07 s-attr
-rw-r--r-- 1 root root 7897 Jul 1 22:07 insn-attr.h
-rw-r--r-- 1 root root 3194208 Jul 1 22:26 insn-attrtab.gcno
-rw-r--r-- 1 root root 2422496 Jul 1 22:26 insn-attrtab.o
-rw-r--r-- 1 root root 10 Jul 1 22:28 s-automata
-rw-r--r-- 1 root root 712157 Jul 1 22:28 insn-automata.c
...
I had a look at the generated file "insn-attrtab.c" and it would be possible to
break it into three pieces (at least). Another offender is "insn-recog.c" which
might be harder to find a good spot to split it.
The file "fold-const.c" is not generated and could be split. I might be where
the above problem is. It takes 10 minutes to compile (on a fast computer).
The 35 minutes spent compiling those three files might be better spent
splitting them up. Then they would compile fast enough to get your time
back for the effort expended _if_ you only had to compile it once.
--
Summary: make profiledbootstrap - stageprofile - gcc/ada/a-
except.adb:1301: error: control flow in the middle of
basic block 20
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rob1weld at aol dot com
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32581