Status and rationale for toplevel bootstrap (was Re: Example of debugging GCC with toplevel bootstrap)
Paolo Bonzini
paolo.bonzini@lu.unisi.ch
Mon Jan 16 13:24:00 GMT 2006
Richard Kenner wrote:
> From the user point of view it is a bad bug that you cannot bootstrap
> a 64-bit compiler starting from a 32-bit one (because stage2 does not
> find a 64-bit libiberty to use).
>
>To me, "bootstrap" means that all three compilers are identical in
>configuration, so I don't follow your example.
>
>
In this case, the target is the same, but the machine is able to execute
objects for more than one configuration. build, host, and target all
are for example powerpc64-linux, but the host compiler defaults to
creating 32-bit objects and the bootstrapped compiler will default to
creating 64-bit objects.
So the stage1 compiler is built as a 32-bit object, from the second
stage on they're built as 64-bit objects.
>Since that's what I (and others, from the sound of it), need to do all the
>time, it sounds like we'll keep using --disable-bootstrap forever.
>
>
Why can't you execute make bootstrap in the toplevel?
What I do is working on a fix in the stage1 directory, and then doing
(depending on the kind of bug and fix) "make unstage1; make restrap" or
"make bubblestrap". With the new method they become respectively "cd ..
&& make restrap", and "cd .. && make". I re-bootstrap only when I
expect things to go smoothly, at the *end* of the debugging.
Are you doing things differently? (This is not kidding; maybe there's
some fundamental misunderstanding).
Paolo
More information about the Gcc
mailing list