GCC 4.3.0 build fails with GNAT BUG, more info below $ gcc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4.2.3/configure --prefix=/usr --enable-threads --enable-shared --enable-languages=c,c++,ada,java,objc,fortran --host=x86_64-unknown-linux-gnu --with-system-zlib --with-x --enable-java-awt=gtk --enable-targets=x86_64-unknown-linux-gnu --with-arch=athlon64 --with-tune=athlon64 --with-cpu=athlon64 --disable-multilib --enable-__cxa_atexit --enable-libada --enable-gtk-cairo --enable-libgcj-multifile --with-long-double-128 --disable-nls Thread model: posix gcc version 4.2.3
(4.3.0 build configured with the same options except source dir ../gcc-4.3.0) $ uname -a Linux mouse 2.6.24.3 #6 PREEMPT Sat Mar 8 10:39:25 CET 2008 x86_64 GNU/Linux $ gnat GNAT 4.2.3 Copyright 1996-2006, Free Software Foundation, Inc. [...] $ nice make profiledbootstrap echo stagefeedback > stage_final make[1]: Entering directory `/src/a/gcc/o' make[2]: Entering directory `/src/a/gcc/o' make[3]: Entering directory `/src/a/gcc/o' rm -f stage_current make distclean-stagefeedback make[4]: Entering directory `/src/a/gcc/o' rm -rf stagefeedback-* make[4]: Leaving directory `/src/a/gcc/o' make[3]: Leaving directory `/src/a/gcc/o' make[2]: Leaving directory `/src/a/gcc/o' make[2]: Entering directory `/src/a/gcc/o' make[3]: Entering directory `/src/a/gcc/o/libiberty' make[4]: Entering directory `/src/a/gcc/o/libiberty/testsuite' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/src/a/gcc/o/libiberty/testsuite' make[3]: Leaving directory `/src/a/gcc/o/libiberty' make[3]: Entering directory `/src/a/gcc/o/intl' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/src/a/gcc/o/intl' make[3]: Entering directory `/src/a/gcc/o/build-x86_64-unknown-linux-gnu/libiberty' make[4]: Entering directory `/src/a/gcc/o/build-x86_64-unknown-linux-gnu/libiberty/testsuite' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/src/a/gcc/o/build-x86_64-unknown-linux-gnu/libiberty/testsuite' make[3]: Leaving directory `/src/a/gcc/o/build-x86_64-unknown-linux-gnu/libiberty' make[3]: Entering directory `/src/a/gcc/o/build-x86_64-unknown-linux-gnu/fixincludes' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/src/a/gcc/o/build-x86_64-unknown-linux-gnu/fixincludes' make[3]: Entering directory `/src/a/gcc/o/zlib' true "AR_FLAGS=rc" "CC_FOR_BUILD=gcc -march=athlon64 -pipe" "CFLAGS=-g -fkeep-inline-functions" "CXXFLAGS=-g -O2" "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-O2 -g -g -O2 " "INSTALL=/usr/bin/install -c" "INSTALL_DATA=/usr/bin/install -c -m 644" "INSTALL_PROGRAM=/usr/bin/install -c" "INSTALL_SCRIPT=/usr/bin/install -c" "LDFLAGS=" "LIBCFLAGS=-g -fkeep-inline-functions" "LIBCFLAGS_FOR_TARGET=-O2 -g -g -O2 " "MAKE=make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "EXPECT=expect" "RUNTEST=runtest" "RUNTESTFLAGS=" "exec_prefix=/usr" "infodir=/usr/info" "libdir=/usr/lib" "prefix=/usr" "tooldir=/usr/x86_64-unknown-linux-gnu" "AR=ar" "AS=as" "CC=gcc -march=athlon64 -pipe" "CXX=g++ -march=athlon64 -pipe" "LD=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.2.3/../../../../x86_64-unknown-linux-gnu/bin/ld" "LIBCFLAGS=-g -fkeep-inline-functions" "NM=nm" "PICFLAG=" "RANLIB=ranlib" "DESTDIR=" DO=all multi-do # make make[3]: Leaving directory `/src/a/gcc/o/zlib' make[3]: Entering directory `/src/a/gcc/o/libcpp' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/src/a/gcc/o/libcpp' make[3]: Entering directory `/src/a/gcc/o/libdecnumber' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/src/a/gcc/o/libdecnumber' make[3]: Entering directory `/src/a/gcc/o/gcc' make[3]: Leaving directory `/src/a/gcc/o/gcc' Checking multilib configuration for libgcc... make[3]: Entering directory `/src/a/gcc/o/x86_64-unknown-linux-gnu/libgcc' # If this is the top-level multilib, build all the other # multilibs. # Early copyback; see "all" above for the rationale. The # early copy is necessary so that the gcc -B options find # the right startup files when linking shared libgcc. /bin/sh ../../../gcc-4.3.0/libgcc/../mkinstalldirs ../.././gcc parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"; \ for file in $parts; do \ rm -f ../.././gcc/$file; \ /usr/bin/install -c -m 644 $file ../.././gcc/; \ done # @multilib_flags@ is still needed because this may use # /src/a/gcc/o/./gcc/xgcc -B/src/a/gcc/o/./gcc/ -B/usr/x86_64-unknown-linux-gnu/bin/ -B/usr/x86_64-unknown-linux-gnu/lib/ -isystem /usr/x86_64-unknown-linux-gnu/include -isystem /usr/x86_64-unknown-linux-gnu/sys-include and -O2 -O2 -g -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED directly. # @multilib_dir@ is not really necessary, but sometimes it has # more uses than just a directory name. /bin/sh ../../../gcc-4.3.0/libgcc/../mkinstalldirs . /src/a/gcc/o/./gcc/xgcc -B/src/a/gcc/o/./gcc/ -B/usr/x86_64-unknown-linux-gnu/bin/ -B/usr/x86_64-unknown-linux-gnu/lib/ -isystem /usr/x86_64-unknown-linux-gnu/include -isystem /usr/x86_64-unknown-linux-gnu/sys-include -O2 -O2 -g -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc.map -o ./libgcc_s.so.1.tmp -g -fkeep-inline-functions -B./ _muldi3_s.o _negdi2_s.o _lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o _enable_execute_stack_s.o _trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o _paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _powitf2_s.o _mulsc3_s.o _muldc3_s.o _mulxc3_s.o _multc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _divtc3_s.o _bswapsi2_s.o _bswapdi2_s.o _fixunssfsi_s.o _fixunsdfsi_s.o _fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixunssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o _floatdixf_s.o _floatundisf_s.o _floatundidf_s.o _floatundixf_s.o _divdi3_s.o _moddi3_s.o _udivdi3_s.o _umoddi3_s.o _udiv_w_sdiv_s.o _udivmoddi4_s.o addtf3_s.o divtf3_s.o eqtf2_s.o getf2_s.o letf2_s.o multf3_s.o negtf2_s.o subtf3_s.o unordtf2_s.o fixtfsi_s.o fixunstfsi_s.o floatsitf_s.o floatunsitf_s.o fixtfdi_s.o fixunstfdi_s.o floatditf_s.o floatunditf_s.o fixtfti_s.o fixunstfti_s.o floattitf_s.o floatuntitf_s.o extendsftf2_s.o extenddftf2_s.o extendxftf2_s.o trunctfsf2_s.o trunctfdf2_s.o trunctfxf2_s.o unwind-dw2_s.o unwind-dw2-fde-glibc_s.o unwind-sjlj_s.o gthr-gnat_s.o unwind-c_s.o emutls_s.o -lc && rm -f ./libgcc_s.so && if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1 ./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp ./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so # Now that we have built all the objects, we need to copy # them back to the GCC directory. Too many things (other # in-tree libraries, and DejaGNU) know about the layout # of the build tree, for now. make install-leaf DESTDIR=../.././gcc \ slibdir= libsubdir= MULTIOSDIR=. make[4]: Entering directory `/src/a/gcc/o/x86_64-unknown-linux-gnu/libgcc' /bin/sh ../../../gcc-4.3.0/libgcc/../mkinstalldirs ../.././gcc /usr/bin/install -c -m 644 libgcc_eh.a ../.././gcc/ chmod 644 ../.././gcc/libgcc_eh.a /usr/x86_64-unknown-linux-gnu/bin/ranlib ../.././gcc/libgcc_eh.a /bin/sh ../../../gcc-4.3.0/libgcc/../mkinstalldirs ../.././gcc; /usr/bin/install -c -m 644 ./libgcc_s.so.1 ../.././gcc/libgcc_s.so.1; rm -f ../.././gcc/libgcc_s.so; ln -s libgcc_s.so.1 ../.././gcc/libgcc_s.so /bin/sh ../../../gcc-4.3.0/libgcc/../mkinstalldirs ../.././gcc /usr/bin/install -c -m 644 libgcc.a ../.././gcc/ chmod 644 ../.././gcc/libgcc.a /usr/x86_64-unknown-linux-gnu/bin/ranlib ../.././gcc/libgcc.a /usr/bin/install -c -m 644 libgcov.a ../.././gcc/ chmod 644 ../.././gcc/libgcov.a /usr/x86_64-unknown-linux-gnu/bin/ranlib ../.././gcc/libgcov.a parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"; \ for file in $parts; do \ rm -f ../.././gcc/$file; \ /usr/bin/install -c -m 644 $file ../.././gcc/; \ done make[4]: Leaving directory `/src/a/gcc/o/x86_64-unknown-linux-gnu/libgcc' make[3]: Leaving directory `/src/a/gcc/o/x86_64-unknown-linux-gnu/libgcc' make[2]: Leaving directory `/src/a/gcc/o' make[2]: Entering directory `/src/a/gcc/o' make[3]: Entering directory `/src/a/gcc/o' rm -f stage_current make[3]: Leaving directory `/src/a/gcc/o' make[2]: Leaving directory `/src/a/gcc/o' make[2]: Entering directory `/src/a/gcc/o' make[3]: Entering directory `/src/a/gcc/o/libiberty' make[4]: Entering directory `/src/a/gcc/o/libiberty/testsuite' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/src/a/gcc/o/libiberty/testsuite' make[3]: Leaving directory `/src/a/gcc/o/libiberty' make[3]: Entering directory `/src/a/gcc/o/intl' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/src/a/gcc/o/intl' make[3]: Entering directory `/src/a/gcc/o/build-x86_64-unknown-linux-gnu/libiberty' make[4]: Entering directory `/src/a/gcc/o/build-x86_64-unknown-linux-gnu/libiberty/testsuite' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/src/a/gcc/o/build-x86_64-unknown-linux-gnu/libiberty/testsuite' make[3]: Leaving directory `/src/a/gcc/o/build-x86_64-unknown-linux-gnu/libiberty' make[3]: Entering directory `/src/a/gcc/o/build-x86_64-unknown-linux-gnu/fixincludes' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/src/a/gcc/o/build-x86_64-unknown-linux-gnu/fixincludes' make[3]: Entering directory `/src/a/gcc/o/zlib' true "AR_FLAGS=rc" "CC_FOR_BUILD=/src/a/gcc/o/./prev-gcc/xgcc -B/src/a/gcc/o/./prev-gcc/ -B/usr/x86_64-unknown-linux-gnu/bin/" "CFLAGS=-g -O2 -fprofile-generate" "CXXFLAGS=-g -O2" "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-O2 -g -g -O2 " "INSTALL=/usr/bin/install -c" "INSTALL_DATA=/usr/bin/install -c -m 644" "INSTALL_PROGRAM=/usr/bin/install -c" "INSTALL_SCRIPT=/usr/bin/install -c" "LDFLAGS=" "LIBCFLAGS=-g -O2 -fprofile-generate" "LIBCFLAGS_FOR_TARGET=-O2 -g -g -O2 " "MAKE=make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "EXPECT=expect" "RUNTEST=runtest" "RUNTESTFLAGS=" "exec_prefix=/usr" "infodir=/usr/info" "libdir=/usr/lib" "prefix=/usr" "tooldir=/usr/x86_64-unknown-linux-gnu" "AR=ar" "AS=as" "CC=/src/a/gcc/o/./prev-gcc/xgcc -B/src/a/gcc/o/./prev-gcc/ -B/usr/x86_64-unknown-linux-gnu/bin/" "CXX=g++ -march=athlon64 -pipe" "LD=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.2.3/../../../../x86_64-unknown-linux-gnu/bin/ld" "LIBCFLAGS=-g -O2 -fprofile-generate" "NM=nm" "PICFLAG=" "RANLIB=ranlib" "DESTDIR=" DO=all multi-do # make make[3]: Leaving directory `/src/a/gcc/o/zlib' make[3]: Entering directory `/src/a/gcc/o/libcpp' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/src/a/gcc/o/libcpp' make[3]: Entering directory `/src/a/gcc/o/libdecnumber' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/src/a/gcc/o/libdecnumber' make[3]: Entering directory `/src/a/gcc/o/gcc' /src/a/gcc/o/./prev-gcc/xgcc -B/src/a/gcc/o/./prev-gcc/ -B/usr/x86_64-unknown-linux-gnu/bin/ -c -g -O2 -fprofile-generate -gnatpg -gnata -g -O1 -fno-inline \ -nostdinc -I- -I. -Iada -I../../gcc-4.3.0/gcc/ada ../../gcc-4.3.0/gcc/ada/a-except.adb -o ada/a-except.o ../../gcc-4.3.0/gcc/ada/a-except.adb: In function 'Ada.Exceptions.Raise_From_Controlled_Operation': ../../gcc-4.3.0/gcc/ada/a-except.adb:1305: error: control flow in the middle of basic block 20 ../../gcc-4.3.0/gcc/ada/a-except.adb:1305: error: control flow in the middle of basic block 20 ../../gcc-4.3.0/gcc/ada/a-except.adb:1305: error: control flow in the middle of basic block 20 ../../gcc-4.3.0/gcc/ada/a-except.adb:1305: error: control flow in the middle of basic block 20 +===========================GNAT BUG DETECTED==============================+ | 4.3.0 (x86_64-unknown-linux-gnu) verify_flow_info failed | | Error detected around ../../gcc-4.3.0/gcc/ada/a-except.adb:1305 | | 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:398 make[3]: *** [ada/a-except.o] Error 1 make[3]: Leaving directory `/src/a/gcc/o/gcc' make[2]: *** [all-stageprofile-gcc] Error 2 make[2]: Leaving directory `/src/a/gcc/o' make[1]: *** [stageprofile-bubble] Error 2 make[1]: Leaving directory `/src/a/gcc/o' make: *** [profiledbootstrap] Error 2 -- Summary: gnat bug while compiling 4.3.0 Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at spatium dot org GCC host triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35537
