Status and rationale for toplevel bootstrap (was Re: Example of debugging GCC with toplevel bootstrap)
Marcin Dalecki
martin@dalecki.de
Mon Jan 16 14:38:00 GMT 2006
On 2006-01-16, at 15:24, Richard Kenner wrote:
> The point of --disable-bootstrap is to disable bootstrapping.
>
> Why would somebody ever want to *disable* it? If you don't want to
> bootstrap, you just don't *do* it!
>
> The most important of these is libgcc and the crt startup
> files, which
> currently do live in the gcc directory, and folks have wanted
> to move
> out of it for five or ten years. We can't skip them during a
> bootstrap; it just won't work.
>
> Why is it so important to move them out? It would seem to me that the
> bootstrap issue is a good reason *not* to!
There are very good reasons why libgcc and the crt
stuff should be separated from the compiler:
Those are not really parts of the compiler but libraries. They depend
up on the
target system. Thus untangling them from the compiler itself if the
first
step toward a distant dream: It should be possible to use the same
compiler
to produce executables for different target OS-es hosted on the same
architecture.
Please just take a cursory short look at how libgcc is depending even
on such simple
things like the struct signal from the target OS or the threading
library to see
why it would be indeed a good idea to confine those dependencies in
to something
separated from a full compiler build.
More information about the Gcc
mailing list