Recent CVS alpha1:gcc-obj>uname -a Linux alpha1 2.4.9-40 #1 Mon Sep 23 08:14:02 EDT 2002 alpha unknown alpha1:gcc-obj>gcc -v Reading specs from /usr/local/lib/gcc/alphaev56-unknown-linux-gnu/3.5.0/specs Configured with: ../gcc/configure --verbose --enable-languages=c++ Thread model: posix gcc version 3.5.0 20040207 (experimental) alpha1:gcc-obj>alias CONFIGURE alias CONFIGURE='../gcc-3.3/configure --verbose --enable-languages=c++' alpha1:gcc-obj>alias BUILD alias BUILD='nice gmake CFLAGS='\''-O'\'' BOOT_CFLAGS='\''-O'\'' LIBCFLAGS='\''-g -O'\'' LIBCXXFLAGS='\''-g -O -fno-implicit-templates'\'' bootstrap' Bootstrapping the compiler gmake[1]: Entering directory `/usr/home/mckelvey/software/gcc-obj/gcc' gmake CC=" stage2/xgcc -Bstage2/ -B/usr/local/alphaev56-unknown-linux-gnu/bin/" CC_FOR_BUILD=" stage2/xgcc -Bstage2/ -B/usr/local/alphaev56-unknown-linux-gnu/bin/" \ STAGE_PREFIX=stage2/ \ ADAFLAGS="" CFLAGS="-O" LDFLAGS="" WARN_CFLAGS="\$(GCC_WARN_CFLAGS)" STRICT_WARN="-pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -Werror" libdir=/usr/local/lib LANGUAGES="c gcov gcov-dump c++" MAKEINFO="makeinfo --split-size=5000000" MAKEINFOFLAGS="--no-split" MAKEOVERRIDES= OUTPUT_OPTION="-o \$@" \ CFLAGS="-O" WERROR="-Werror" gmake[2]: Entering directory `/usr/home/mckelvey/software/gcc-obj/gcc' stage2/xgcc -Bstage2/ -B/usr/local/alphaev56-unknown-linux-gnu/bin/ -c -O -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -Werror -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -I. -I../../gcc/gcc -I../../gcc/gcc/. -I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include -I../../gcc/gcc/../libbanshee/libcompat -I../../gcc/gcc/../libbanshee -I../../gcc/gcc/../libbanshee/points-to ../../gcc/gcc/genmodes.c -o genmodes.o In file included from ./bconfig.h:5, from ../../gcc/gcc/genmodes.c:22: ../../gcc/gcc/../include/ansidecl.h:171:24: integer constant is too large for its type ../../gcc/gcc/../include/ansidecl.h:241:6: integer constant is too large for its type ../../gcc/gcc/../include/ansidecl.h:241:20: integer constant is too large for its type ../../gcc/gcc/../include/ansidecl.h:247:7: integer constant is too large for its type ../../gcc/gcc/../include/ansidecl.h:247:22: integer constant is too large for its type ../../gcc/gcc/../include/ansidecl.h:256:7: integer constant is too large for its type ../../gcc/gcc/../include/ansidecl.h:256:22: integer constant is too large for its type ../../gcc/gcc/../include/ansidecl.h:273:7: integer constant is too large for its type ../../gcc/gcc/../include/ansidecl.h:273:22: integer constant is too large for its type ../../gcc/gcc/../include/ansidecl.h:296:7: integer constant is too large for its type ../../gcc/gcc/../include/ansidecl.h:296:22: integer constant is too large for its type ../../gcc/gcc/../include/ansidecl.h:311:5: integer constant is too large for its type ../../gcc/gcc/../include/ansidecl.h:311:19: integer constant is too large for its type In file included from ../../gcc/gcc/system.h:107, from ../../gcc/gcc/genmodes.c:23: ../../gcc/gcc/../include/safe-ctype.h:71:19: integer constant is too large for its type ../../gcc/gcc/../include/safe-ctype.h:74:17: integer constant is too large for its type ../../gcc/gcc/../include/safe-ctype.h:75:19: integer constant is too large for its type ../../gcc/gcc/../include/safe-ctype.h:76:19: integer constant is too large for its type ../../gcc/gcc/../include/safe-ctype.h:89:42: integer constant is too large for its type In file included from ../../gcc/gcc/system.h:107, from ../../gcc/gcc/genmodes.c:23: ../../gcc/gcc/../include/safe-ctype.h:89: warning: ISO C forbids zero-size array `_sch_istable' ../../gcc/gcc/../include/safe-ctype.h:114:42: integer constant is too large for its type ../../gcc/gcc/../include/safe-ctype.h:114: warning: ISO C forbids zero-size array `_sch_toupper' ../../gcc/gcc/../include/safe-ctype.h:115:42: integer constant is too large for its type ../../gcc/gcc/../include/safe-ctype.h:115: warning: ISO C forbids zero-size array `_sch_tolower' In file included from ../../gcc/gcc/system.h:470, from ../../gcc/gcc/genmodes.c:23: ../../gcc/gcc/../include/libiberty.h:257:39: integer constant is too large for its type In file included from ../../gcc/gcc/system.h:470, from ../../gcc/gcc/genmodes.c:23: ../../gcc/gcc/../include/libiberty.h:257: warning: ISO C forbids zero-size array `_hex_value' ../../gcc/gcc/../include/libiberty.h:306:5: integer constant is too large for its type ../../gcc/gcc/../include/libiberty.h:306:20: integer constant is too large for its type In file included from ../../gcc/gcc/genmodes.c:23: ../../gcc/gcc/system.h:482:6: integer constant is too large for its type ../../gcc/gcc/system.h:482:20: integer constant is too large for its type ../../gcc/gcc/system.h:490:6: integer constant is too large for its type ../../gcc/gcc/system.h:490:21: integer constant is too large for its type ../../gcc/gcc/system.h:501:6: integer constant is too large for its type ../../gcc/gcc/system.h:501:20: integer constant is too large for its type ../../gcc/gcc/system.h:510:6: integer constant is too large for its type ../../gcc/gcc/system.h:510:20: integer constant is too large for its type ../../gcc/gcc/system.h:559:6: integer constant is too large for its type ../../gcc/gcc/system.h:559:21: integer constant is too large for its type In file included from ../../gcc/gcc/genmodes.c:642: ../../gcc/gcc/machmode.def:146:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:150:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:153:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:158:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:159:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:160:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:161:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:162:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:173:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:174:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:178:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:186:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:187:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:190:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:191:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:192:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:193:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:197:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:198:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:199:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:206:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:208:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:209:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:210:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:214:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:215:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:216:1: integer constant is so large that it is unsigned ../../gcc/gcc/machmode.def:217:1: integer constant is so large that it is unsigned ../../gcc/gcc/genmodes.c:201: warning: 'new_adjust' defined but not used ../../gcc/gcc/genmodes.c:547: warning: 'reset_float_format' defined but not used ../../gcc/gcc/genmodes.c:570: warning: 'make_partial_integer_mode' defined but not used gmake[2]: *** [genmodes.o] Error 1 gmake[2]: Leaving directory `/usr/home/mckelvey/software/gcc-obj/gcc' gmake[1]: *** [stage3_build] Error 2 gmake[1]: Leaving directory `/usr/home/mckelvey/software/gcc-obj/gcc' gmake: *** [bootstrap] Error 2
Which gcc version exactly are you trying to build here?
(In reply to comment #1)> Which gcc version exactly are you trying to build here?The latest CVS, right off the head; as of yesterday, at any rate.
I tried today, with exactly the options you mentioned, works fine for me. Could you retry?
(In reply to comment #3) > I tried today, with exactly the options you mentioned, works fine for me. Could you retry? Yes, I updated CVS and am bootstrapping now.
OK, it failed again as before. I am posting the genmodes.i file if that helps.
Created attachment 6403 [details] Preprocessed source of genmodes.c
OK, what is the next step here? I refetched everything from CVS yesterday and it failed the same way. I am building in the recommended manner, in a separate empty directory, with approved configuration and build options that have worked for months in their present exact form. I don't know why -Werror is being set, but the main problem is that the size warnings point to something very basic. If I remove -Werror I can get genmodes and errors to compile, but then the link of genmodes fails thusly: stage2/xgcc -Bstage2/ -B/usr/local/alphaev56-unknown-linux-gnu/bin/ -O -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -Werror -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -o genmodes \ genmodes.o errors.o ../libiberty/libiberty.a stage2/crtbegin.o: In function `frame_dummy': stage2/crtbegin.o(.text+0x94): undefined reference to `_Jv_RegisterClasses' collect2: ld returned 1 exit status
What binutils version are you using?
alpha1:software>ld -v GNU ld version 2.12.1
Can you try without setting CFLAGS?
I tried without CFLAGS, and then with just: gmake LIBCXXFLAGS='-fno-implicit-templates' bootstrap and got the same result.
The only patch I can think of which could have caused this is the moving libcpp to the toplevel.
I noticed that the strange warnings appeared as early as stage1, although they didn't cause any errors at that point. So I investigated and found that gcc 2.96 is being used as the bootstrap compiler. Switching to 3.5.0, the problem seems to go away. I can't complete the build because of another problem, but it gets past genmodes and there is no sign of the "too large" warnings. I've been using 2.96 for a long time, and it always worked before.
Ok, then this is a dup of bug 15744. The problem was caused by the moving of libcpp to the toplevel. *** This bug has been marked as a duplicate of 15744 ***