This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug bootstrap/22075] bootstrap fails when comparing stage 2 with stage 3 due to use of obsoleted "tail +16c" syntax


------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]