Configured gcc with CFLAGS=-xarch=v9 (among other flags) to produce 64-bit code from the system compiler, instead of the default of 32-bit.
----(begin build log excerpt)---- cc -c -g -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING -DIN_GCC -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I/tg/freeport/src/gcc/gcc--4.1.1/gcc -I/tg/freeport/src/gcc/gcc--4.1.1/gcc/build -I/tg/freeport/src/gcc/gcc--4.1.1/gcc/../include -I/tg/freeport/src/gcc/gcc--4.1.1/gcc/../libcpp/include -D__EXTENSIONS__ -D_REENTRANT -Dsparc -o build/errors.o /tg/freeport/src/gcc/gcc--4.1.1/gcc/errors.c cc -g -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING -DIN_GCC -DHAVE_CONFIG_H -DGENERATOR_FILE -o build/genmodes \ build/genmodes.o build/errors.o ../build-sparc-sun-solaris2.8/libiberty/libiberty.a ild: (bad file) Input file ../build-sparc-sun-solaris2.8/libiberty/libiberty.a contains 64-bit relocatable, but producing a 32-bit file. gmake[2]: *** [build/genmodes] Error 1 gmake[2]: Leaving directory `/export/home/cport/tmp/gcc--4.1.1.build/gcc' gmake[1]: *** [stage1_build] Error 2 gmake[1]: Leaving directory `/export/home/cport/tmp/gcc--4.1.1.build/gcc' gmake: *** [bootstrap-lean] Error 2 ----(end build log excerpt)---- build/errors.o and build/genmodes are compiled and linked without the original CFLAGS, while libiberty.a was. From the looks of it, gcc/Makefile doesn't pick up CFLAGS at all. -- Summary: CFLAGS not propagated, resulting in object mismatch Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: skunk at iskunk dot org GCC build triplet: sparc-sun-solaris2.8 GCC host triplet: sparc-sun-solaris2.8 GCC target triplet: sparc-sun-solaris2.8 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28515