This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/18972] New: Regression: bootstrap failure of gcc-4.0-20041212 on OpenDarwin 7.2.1/x86 (i686-apple-darwin7.2.1): Bootstrap comparison failure
- From: "lars dot sonchocky-helldorf at hamburg dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Dec 2004 00:47:45 -0000
- Subject: [Bug bootstrap/18972] New: Regression: bootstrap failure of gcc-4.0-20041212 on OpenDarwin 7.2.1/x86 (i686-apple-darwin7.2.1): Bootstrap comparison failure
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The system:
===========
uname -a
Darwin localhost 7.2.1 Darwin Kernel Version 7.2.1: Wed Jul 14 03:00:02
PDT 2004; root:tmp/xnu-7.2.1-1-root.obj/RELEASE_I386 x86 i386
gcc -v
Reading specs from /usr/libexec/gcc/darwin/i386/3.3/specs
Thread model: posix
gcc version 3.3 20030304 (Apple Computer, Inc. build 1495)
Prerequisites:
==============
# link libmx to libSystem
# this is necessary because some libraries are missing
# from OpenDarwin, in this case the -lmx argument results in:
# /usr/bin/ld: can't locate file for: -lmx
# see http://www.opendarwin.org/bugzilla/show_bug.cgi?id=2194
#
# note: this is just enough to bootstrap the compiler,
# some floating point compiliations might fail
sudo ln -s /usr/lib/libSystem.B.dylib /usr/lib/libmx.dylib
# install new cctools
# according to: http://gcc.gnu.org/ml/gcc-patches/2004-08/msg00104.html
# and: http://gcc.gnu.org/ml/gcc-patches/2004-10/msg01222.html
# newer cctools are needed to build HEAD of gcc
# Since building Apples cctools is somewhat complicated and
# won't work on (Open)Darwin/x86 better use OpenDarwin cctools (odcctools)
# see: http://www.opendarwin.org/projects/odcctools/
# and: http://www.opendarwin.org/projects/odcctools/usingodcctools.html
# and:
http://www.opendarwin.org/pipermail/odcctools/2004-October/000033.html
ftp http://www.opendarwin.org/downloads/odcctools-20041018.tar.bz2
tar -jxf odcctools-20041018.tar.bz2
mkdir odcctools-build
cd odcctools-build/
../odcctools-20041018/configure --prefix=/usr
make
sudo make install
cd ..
Bootstrapped like:
==================
# bootstrap the compiler
# note: those STAGE1_CFLAGS are needed to avoid
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14780
ftp
ftp://gcc.gnu.org/pub/gcc/snapshots/4.0-20041212/gcc-4.0-20041212.tar.bz2
openssl md5 gcc-4.0-20041212.tar.bz2
tar -jxf gcc-4.0-20041212.tar.bz2
cd gcc-build/
rm -rf *
../gcc-4.0-20041212/configure --prefix=/tmp/gcc
make bootstrap STAGE1_CFLAGS="-no-cpp-precomp -Wa,-force_cpusubtype_ALL"
Result of attempted bootstrap:
==============================
Comparing stage2 and stage3 of the compiler
rm -f .bad_compare
case "gnucompare" in *compare | *compare-lean ) stage=2 ;; * ) stage=`echo
gnucompare | sed -e 's,^[a-z]*compare\([0-9][0-9]*\).*,\1,'` ;; esac; \
for dir in . cp java objc build; do \
if [ "`echo $dir/*.o`" != "$dir/*.o" ] ; then \
for file in $dir/*.o; do \
case "gnucompare" in \
slowcompare* ) \
tail +16c ./$file > tmp-foo1; \
tail +16c stage$stage/$file > tmp-foo2 \
&& (cmp tmp-foo1 tmp-foo2 > /dev/null 2>&1 || echo $file
differs >> .bad_compare) || true; \
;; \
fastcompare* ) \
cmp $file stage$stage/$file 16 16 > /dev/null 2>&1; \
test $? -eq 1 && echo $file differs >> .bad_compare || true; \
;; \
gnucompare* ) \
cmp --ignore-initial=16 $file stage$stage/$file > /dev/null
2>&1; \
test $? -eq 1 && echo $file differs >> .bad_compare || true; \
;; \
esac ; \
done; \
else true; fi; \
done
rm -f tmp-foo*
case "gnucompare" in *compare | *compare-lean ) stage=2 ;; * ) stage=`echo
gnucompare | sed -e 's,^[a-z]*compare\([0-9][0-9]*\).*,\1,'` ;; esac; \
if [ -f .bad_compare ]; then \
echo "Bootstrap comparison failure!"; \
cat .bad_compare; \
exit 1; \
else \
case "gnucompare" in \
*-lean ) rm -rf stage$stage ;; \
*) ;; \
esac; true; \
fi
Bootstrap comparison failure!
./reload.o differs
make[1]: *** [gnucompare] Error 1
make: *** [bootstrap] Error 2
This is a regression since bootstrap worked for 4.0.0 20041205.
See: http://gcc.gnu.org/ml/gcc-testresults/2004-12/msg00276.html
Steps taken to isolate the bug
==============================
the only occurrences of reload.o during bootstrapping were:
gcc -c -no-cpp-precomp -Wa,-force_cpusubtype_ALL -DENABLE_CHECKING -
DENABLE_ASSERT_CHECKING -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-
prototypes -fno-common -DHAVE_CONFIG_H -I. -I. -I../../gcc-4.0-20041212/gcc -I../../gcc-4.0-
20041212/gcc/. -I../../gcc-4.0-20041212/gcc/../include -I./../intl -I../../gcc-4.0-20041212/gcc/../
libcpp/include ../../gcc-4.0-20041212/gcc/reload.c -o reload.o
stage1/xgcc -Bstage1/ -B/tmp/gcc/i686-apple-darwin7.2.1/bin/ -c -O2 -g -fomit-frame-pointer -
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 -I. -
I. -I../../gcc-4.0-20041212/gcc -I../../gcc-4.0-20041212/gcc/. -I../../gcc-4.0-20041212/gcc/../
include -I./../intl -I../../gcc-4.0-20041212/gcc/../libcpp/include ../../gcc-4.0-20041212/gcc/
reload.c -o reload.o
stage2/xgcc -Bstage2/ -B/tmp/gcc/i686-apple-darwin7.2.1/bin/ -c -O2 -g -fomit-frame-pointer -
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 -I. -
I. -I../../gcc-4.0-20041212/gcc -I../../gcc-4.0-20041212/gcc/. -I../../gcc-4.0-20041212/gcc/../
include -I./../intl -I../../gcc-4.0-20041212/gcc/../libcpp/include ../../gcc-4.0-20041212/gcc/
reload.c -o reload.o
whereby the last both commands differ only in the compiler that's used, at first stage1/xgcc and later
stage2/xgcc. Those commands were the ones which results differed in the comparison, so I reissued
them (in the gcc subdirectory) with a '-save-temps' option added:
localhost:~/GCC/FSF/gcc-build/gcc lars$ stage1/xgcc -Bstage1/ -B/tmp/gcc/i686-apple-
darwin7.2.1/bin/ -c -O2 -g -fomit-frame-pointer -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 -I. -I. -I../../gcc-4.0-20041212/gcc -I../../
gcc-4.0-20041212/gcc/. -I../../gcc-4.0-20041212/gcc/../include -I./../intl -I../../gcc-4.0-
20041212/gcc/../libcpp/include -save-temps ../../gcc-4.0-20041212/gcc/reload.c -o reload.o
localhost:~/GCC/FSF/gcc-build/gcc lars$ mv reload.i stage2-reload.i
localhost:~/GCC/FSF/gcc-build/gcc lars$ mv reload.s stage2-reload.s
localhost:~/GCC/FSF/gcc-build/gcc lars$ stage2/xgcc -Bstage2/ -B/tmp/gcc/i686-apple-
darwin7.2.1/bin/ -c -O2 -g -fomit-frame-pointer -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 -I. -I. -I../../gcc-4.0-20041212/gcc -I../../
gcc-4.0-20041212/gcc/. -I../../gcc-4.0-20041212/gcc/../include -I./../intl -I../../gcc-4.0-
20041212/gcc/../libcpp/include -save-temps ../../gcc-4.0-20041212/gcc/reload.c -o reload.o
localhost:~/GCC/FSF/gcc-build/gcc lars$ mv reload.i stage3-reload.i
localhost:~/GCC/FSF/gcc-build/gcc lars$ mv reload.s stage3-reload.s
I found out that the .i files and .s files don't differ, so I attached them only once
regards, Lars
--
Summary: Regression: bootstrap failure of gcc-4.0-20041212 on
OpenDarwin 7.2.1/x86 (i686-apple-darwin7.2.1): Bootstrap
comparison failure
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: lars dot sonchocky-helldorf at hamburg dot de
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-apple-darwin7.2.1
GCC host triplet: i686-apple-darwin7.2.1
GCC target triplet: i686-apple-darwin7.2.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18972