Alexander E. Patrakov wrote:

> I was trying to find a way to build some LFS-like x86_64 system from 
> Debian Lenny x86 (which has 32-bit userspace, a patched compiler that 
> accepts -m64 to produce 64-bit binaries, some multilib setup, and an 
> option to install a 64-bit kernel).

Hmm, sounds like a bizarre setup..

> Even then, the build failed with "specs: 
> invalid argument" while bootstrapping gcc pass1.

Any chance you could investigate this and find out the root cause?

> is it really true that bootstrapping gcc pass1 
> improves the range of hosts that are capable to build LFS?

Huh? Where on earth did you get this crazy idea from? AFAIK no-one has
ever suggested such a thing.

> But, for the purpose of compiling glibc and testsuite tools (and these 
> the only things we compile with gcc pass1), we care only about the 
> correct output. So even stage1 is good enough, so again - why bootstrap?

It appears you've forgotten the basic rationale behind the GCC 3-stage
bootstrap. As per the GCC docs, it ensures we are working with a compiler
that can at least compile itself correctly. But having said that, I'd
speculate there is enough redundancy in our overall 2-phase build method
to take a shortcut and skip the bootstrap. Tho' personally, I'd never do
it because I like to know immediately if the compiler can be trusted,
rather than finding out too late down the track. But then again, I've only
ever seen GCC snapshots fail the bootstrap (as opposed to release tarballs).

In summary, I wouldn't call it heresy, but it certainly feels wrong,
keeping in mind we are in effect *bootstrapping* a whole new Linux system
every time we undertake a build.

Regards
Greg

PS - According to my build logs, GCC-4.2 takes almost *double* the amount
of time of GCC-4.1 for a 3-stage bootstrap. This doesn't matter much on a
modern dual-core system (16m 45s vs 8m 41s) but it's very noticeable on an
older ppc mac mini (91m vs 43m). So maybe there *is* merit in skipping the
bootstrap after all? :-) But seriously, I suspect the reason is some extra
checking is switched on in the stage1 4.2 compiler (I managed to hac^H^H^H
switch it off in the 4.1 series). Will investigate...
-- 
http://www.diy-linux.org/

-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to