On Monday 16 January 2006 17:10, Richard Kenner wrote: > I don't see how this is any different to boostrapping gcc with any > other system compiler. It's fairly common for the system compiler to > use a different ABI to the new gcc. Why is 32/64-bit any different? > > It isn't any different, which is the whole point. The point is that > what's being built is a compiler that's for a different host than we > tell configure that it's for: specificially it's a cross-compiler and > we're saying it's a native compiler.
I don't see why the requirement for a "native compiler" is anything stronger than "a binary that runs on this machine". You seem to be suggesting that we shouldn't support 3-stage bootstrap with anything other than an identical version of gcc. I thought one of the main points of bootstrapping was that the stage1 compiler can be built by anything, as long as we can then run it to build a proper compiler. If not what host triplets should I use for random HP, Sun and Apple system compilers? > The issue isn't what compiler *builds* the stage1 compiler, but what the > stage1 compiler *is*: if it's not for the same system as its target, it's > not a native compiler, but a cross-compiler and it doesn't make sense to > bootstrap cross-compiler (or, to be precise, if you do so, you need an > additional stage, so that compiler would become a "stage0" compiler). Only if you assume a "cross" compiler and a true native compiler generate different code. I certainly hope that isn't the case. Paul