This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Regression: bootstrap failure of gcc-4.0-20041212 on OpenDarwin 7.2.1/x86 (i686-apple-darwin7.2.1)
- From: Lars Sonchocky-Helldorf <Lars dot Sonchocky-Helldorf at interone dot de>
- To: gcc at gcc dot gnu dot org
- Date: Mon, 13 Dec 2004 13:55:39 +0100
- Subject: Regression: bootstrap failure of gcc-4.0-20041212 on OpenDarwin 7.2.1/x86 (i686-apple-darwin7.2.1)
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
I'll open a bug report on this later the day (don't have my bugzilla
password handy here ...)
regards, Lars