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