"Robert R. Russell" <[EMAIL PROTECTED]> wrote in news:d0lq7l$ht0$1 @belgarath.linuxfromscratch.org:
> > Why is stripping the host binaries the issue? > My Febuary 22, 2005 rebuild of Gentoo 2004.3-unstable had absolutely no > issues with any of the LFS-BOOK-SVN-20050228-HTML chapter 5 packages > except flex, it would not compile so I am using flex-2.5.4a. > > the host toolchain is > GNU C Library stable release version 2.3.4 > GNU CC version 3.4.3-20050110 (Gentoo Linux 3.4.3.20050110, > ssp-3.4.3.20050110-0, pie-8.7.7) > binutils GNU ld version 2.15.92.0.2 20040927 > There are 2 issues (note: I don't fully comprehend the issues, just re- gurgitating and summarising various posts from mailing lists): 1. There was a bug in binutils 2.15.92.0.1 and earler that caused the strip command to drop TLS symbols from static libraries. This was fixed in 2.15.92.0.2 2. There was *also* a bug in binutils 2.15.02.0.1 and earlier that caused the ld command to *incorrectly* resolve symbols if, when the two libraries being compared, only one had TLS symbols - ld would assume the missing information was not relevant, and use the TLS symbols in the library that had them. This was considered *bad* and ld was altereed to refuse to link in such circumstances. This change was also made in 2.15.92.0.2 So, if you used a buggy strip, but *also* used a buggy ld - things would work fine. When LFS-SVN upgraded to 2.15.92.0.2, it was discovered that they had been using a buggy strip for some time, and now ld was refusing to link the broken libs. There is no way to recover the broken symbols - the workarounds mentioned either don't use static libs, use the older, broken ld (which by chance produces the correct linking result in our case), or re-installing the broken library with the symbols intact. LFS 6.0 suffers from this issue, as it uses the broken strip (but not the broken ld). When using LFS6.0 as a host to build LFS-SVN, which has a fixed ld, it rightly complains and refuses to link. Based on the details you have given above, your host is compiled with a fixed version of the strip command (and ld command as well), and so should not see this issue. (BIG NOTE: I'm lazy and busy at the moment, so I'm using the ugly binutils version numbers from memory, and might be out a decimal or three). Hope that helps -- - Steve Crosby -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page