gcc_contrib bug
Gerald Pfeifer
gerald@pfeifer.com
Mon Apr 7 11:57:00 GMT 2008
Hi DJ,
I agree that an infinite loop isn't exactly helpful. I believe the
original code for that aspect of contrib/gcc_update was contributed
by Alexandre; perhaps he's got an idea?
Gerald
On Tue, 1 Apr 2008, DJ Delorie wrote:
> we use the following logic:
>
> ... :
> @for f in $? $@; do test -f $$f || exit 0; done; \
> echo Touching $@...; \
> touch $@
>
> We have the following chain of dependencies:
>
> gcc/configure: gcc/configure.ac
> gcc/cstamp-h.in: gcc/configure.ac
> gcc/config.in: gcc/cstamp-h.in
>
> In my particular build, for some reason, gcc/cstamp-h.in is missing
> but the other files are there. I now have four gcc_update tasks
> running, trying desparately to figure out what to do. It won't touch
> gcc/cstamp-h.in becuase of the @for line, but it always thinks it
> needs to update gcc/config.in because gcc/cstamp-h.in is missing.
>
> Note that gcc/cstamp-in.h is NOT listed in $?, which is a list of
> newer prereqs - but not *missing* prereqs. Perhaps we should use $^,
> which is a list of all prereqs? That leaves us not touching
> gcc/config.in at all, but at least it doesn't hang.
>
> At the very least, some sanity about how many times we permit
> ourselves to run that Makefile would be useful. I mean, if it doesn't
> work in the first 345,600 iterations, it's not ever going to work.
More information about the Gcc
mailing list