------- Additional Comments From eesrjhc at bath dot ac dot uk 2005-06-15 12:10 ------- Subject: Re: bootstrap fails when comparing stage 2 with stage 3 due to use of obsoleted "tail +16c" syntax
On Wednesday 15 June 2005 12:52, you wrote: > ------- Additional Comments From pinskia at gcc dot gnu dot org > 2005-06-15 11:52 ------- Also since this is on GNU/Linux, gnucompare > case should be invoking, so I assume you cmp is wrong/ missing also. No, cmp is present and working. If you look at the gcc/Makefile.in, circa lines 4129: slowcompare slowcompare3 slowcompare4 slowcompare-lean slowcompare3-lean slowcompare4-lean \ fastcompare fastcompare3 fastcompare4 fastcompare-lean fastcompare3-lean fastcompare4-lean \ gnucompare gnucompare3 gnucompare4 gnucompare-lean gnucompare3-lean gnucompare4-lean: force -rm -f .bad_compare case "$@" in *compare | *compare-lean ) stage=2 ;; * ) stage=`echo $@ | sed -e 's,^[a-z]*compare\([0-9][0-9]*\).*,\1,'` ;; esac; \ for dir in . $(SUBDIRS) libgcc; do \ if [ "`echo $$dir/*$(objext)`" != "$$dir/*$(objext)" ] ; then \ for file in $$dir/*$(objext); do \ case $$file in \ ./cc*-checksum$(objext) | libgcc/* ) \ tail +16c ./$$file > tmp-foo1 \ && tail +16c stage$$stage/$$file > tmp-foo2 \ && ( cmp tmp-foo1 tmp-foo2 > /dev/null 2>&1 \ || echo warning: $$file differs || true ) \ ;; \ *) case "$@" 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 ; \ esac ; \ done; \ else true; fi; \ done -rm -f tmp-foo* case "$@" in *compare | *compare-lean ) stage=2 ;; * ) stage=`echo $@ | 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 "$@" in \ *-lean ) rm -rf stage$$stage ;; \ *) ;; \ esac; true; \ fi the files in ./cc*-checksum$(objext) | libgcc/* are checked with tail +16c, while the rest of the files are checked by a method that depends on the compare switch. Best wishes, Roger. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22075