How to rebuild stage 1?

Paolo Bonzini paolo.bonzini@lu.unisi.ch
Sat Dec 17 12:32:00 GMT 2005


> Even better though would be some option to keep the "old style".  As I
> understand it, the point here is to add functionality at top level, but that
> shouldn't be at the expense of functionality at the gcc/ level.  Indeed I
> see no reason that we can't be upwards compatible.

I can of course provide synonyms like `restageN' instead of 
`all-stageN'.  After the old bootstrapping scheme is deleted you could 
have sort-of-dummy targets within the gcc directory that resemble the 
old way, like:

compare:
	cd .. && $(MAKE) compare

quickstrap:
	cd .. && $(MAKE) all-`cat stage_last`

bubblestrap:
	cd .. && $(MAKE)

unstrap restrap:
	@echo Sorry, @$ is not supported; exit 1

This cannot be done now, however, for the obvious reason that restageN 
is doing something else in the --disable-bootstrap case.

Of course, you'll agree that it is not feasible to provide the very same 
directory layout.

It looks like we are making good progress fixing the bugs in toplevel 
bootstrap, even though none of them has been approved yet.  After then, 
we can probably remove the old system around January.

David Edelsohn's AIX bug has been fixed (he has to double check by 
bootstrapping with XLC, but it should be ok).  The sole one that escapes 
is Andrew and Gaby's, which I think I know how to reproduce and for 
which I posted a workaround.

> It's extremely valuable to have a single script that can do a build given any
> GCC version and the fewer the number of parameterizations that are needed in
> that script the better.

The number of targets used by such a script will most likely be two: 
`all' (or `bootstrap'), and `install'.

`make bootstrap' still works, it is just a synonym of `make all'.  In 
this respect we are backwards-compatible.  So a possibility would be 
that such a script:
- does `make bootstrap' if bootstrapping is requested.
- passes `--disable-bootstrap' (which old versions ignore) to configure 
and does `make all' if bootstrapping is not requested.

Please, if people take a few minutes to write down on the wiki how they 
work with gcc, I can help them.

Paolo



More information about the Gcc mailing list