This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/22075] bootstrap fails when comparing stage 2 with stage 3 due to use of obsoleted "tail +16c" syntax
- From: "eesrjhc at bath dot ac dot uk" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 Jun 2005 12:11:01 -0000
- Subject: [Bug bootstrap/22075] bootstrap fails when comparing stage 2 with stage 3 due to use of obsoleted "tail +16c" syntax
- References: <20050615114732.22075.eesrjhc@bath.ac.uk>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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