On 8/23/06, Alan Mckinnon <[EMAIL PROTECTED]> wrote:
Incidentally, gcc cannot use itself to compile itself - that's
nonsensical and a classic bootstrap problem. It uses a binary (which
happens to be a gcc) to compile the source code for gcc which produces
another binary. That binary then compiles the same source for gcc to
produce yet another binary, etc, etc. For stage 1 to work at all, there
has to be a compiler available to compile a compiler, and that first
compiler that *must* be available is probably the compiler that the rest
of the system uses, or the one on the LiveCD. So if you want to be
pedantic about building gcc, then please be correctly pedantic and
pedantically correct :-)

Yes, I'm aware of how the bootstrapping process works.  And if we want
to be really pedantic about it, I'm still right, because the stage1
compiler that is built using the existing system compiler isn't called
gcc...hmm, what is it...xcc, xgcc...something with an x in it anyway!
So there is still no such thing as a "gcc built with the 'system
compiler'" :-P

More seriously, there is some really _stupid_ information about
upgrading gcc on the gentoo-wiki and forums that seems to crop up here
every few months, and it makes me really, really angry.  Stupid crap
like needing to "emerge -e system ; emerge -e system; emerge -e world;
emerge -e world".  Or needing to rebuild all binaries that link
against a library whenever you rebuild the library.  Or that you
should merge gcc twice because you want a version of gcc that is built
with the same version of gcc.  All of which is utter nonsense.

FYI, as Bo pointed out, I am _not_ saying that the emerge -e system
step is redundant.  I completely agree that "emerge -e system ; emerge
-e world" is the safe route for upgrading gcc.  I've been convinced of
that by the previous threads on this topic.

I was specifically replying to your comment: "Your current compiler
was built with -O3, and you want to rebuild the system using a
compiler compiled as -O2, hence the 2 step process."  This is very
much in the same line of thinking as those wiki pages and forum
postings, and is wrong.  Giving a newbie misinformation doesn't help
them in any way.

Oh, and BTW, on gentoo your optimization choices for gcc are -O, -O2
or nothing, because all other -O options are replaced with -O2 by
toolchain.eclass.

-Richard
--
gentoo-user@gentoo.org mailing list

Reply via email to