This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Makefile change to restart bootstraps
- To: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Subject: Re: Makefile change to restart bootstraps
- From: Alexandre Oliva <aoliva at redhat dot com>
- Date: 13 Nov 2000 01:26:30 -0200
- Cc: gcc at gcc dot gnu dot org
- Organization: GCC Team, Red Hat
- References: <10011130310.AA11086@vlsi1.ultra.nyu.edu>
On Nov 13, 2000, kenner@vlsi1.ultra.nyu.edu (Richard Kenner) wrote:
> But which compiler do you do that with?
A pre-installed GCC.
> Don't you go back to use
> what's then in the stage1 or stage2 directory?
Nope. I often don't have stage1 or stage2. Whenever I bootstrap, I
generally use bootstrap-lean.
> If you're debugging the one in the stage1 directory
I pretty much always debug the one in the gcc directory. I've only
debugged the compiler in a stage directory once, when I decided to
track down a bootstrap failure the hard way, by running two gdbs in
parallel and seeing where their behaviors diverged. Ever since, I've
learned to identify the piece of the compiler being miscompiled first,
simplify it to a reduced testcase, and debug GCC from that, so I've
never had to debug a stage1/ or stage2/ compiler again.
> you can always do "make stage2", move
> stage1 to the current directory, fix, make, make stage1, then move
> stage2 to the current directory. That's the same as the new "make
> bootstrap" behavior.
Huh? In what sense is it the same as the new `make bootstrap'? The
new `make bootstrap' continues from the point where it was
interrupted. The main advantage is that it's restartable. If, for
*whatever* reason, a bootstrap was not completed, typing `make
bootstrap' won't restart it, which won't work on many platforms if you
don't use GCC as the bootstrap compiler anyway. Unless you're playing
tricks with moving stage files around, it will always do the right
thing and, if you're playing tricks with stage files, you're expected
to know what you're doing, so you can be expected to be aware of the
stage stamp files too.
> It's *much* less error-prone to always start a bootstrap from the
> beginning.
I suggest that we define a `bootstrap-restart' that cleans up all
stage stamps and does the usual bootstrap. In fact, creating such a
target has been in my to-do list ever since you complained about it,
but I haven't found the 5 minutes needed to implement it and the other
55 minutes needed to test it yet :-)
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me