your broken glibc/atexit problem solution!!!!

Greg Schafer gschafer
Mon May 17 11:37:58 PDT 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi

Ok, I have reinstated mention of this on my tweaks page. Hopefully this
might assist in stopping many people from building systems with broken
glibc's.

To reiterate the problem:-

 * if your Ch 5 gcc build says "checking assembler hidden support... no"
   then your glibc is broken. (the glibc function __cxa_atexit will not
   work properly - run glibc's make check and watch tstcxaatexit fail)

 * if the binutils version on your *host* system is 2.12.1 or greater
   then you should be ok - "checking assembler hidden support... yes"

 * using the HAVE_GAS_HIDDEN thing even if it does say "yes" is completely
   harmless (we end up with HAVE_GAS_HIDDEN defined twice - big deal!)

 * now that we are passing --enable-__cxa_atexit for gcc, it is vitally
   important that our __cxa_atexit function in glibc actually works.

 * if anyone has built a broken glibc then you can possibly get away with
   just rebuilding glibc with the dynamic gcc again in Ch 6

 * I still maintain that the LFS build method is potentially flawed. The
   *only* thing we build with our static Ch 5 gcc is glibc, the most
   important lib on the system! The only proper solution in my mind is to
   build glibc twice in Chapter 6 - at the start and at the end.

Greg


and further:
> Is the option --enable-__cxa_atexit for gcc in chapter 5 & 6 ok ?
> or should I pass this option only in chapter 6  ?

It only affects C++. We don't build a C++ compiler in Ch 5 therefore
there is no need to supply the switch in Ch 5.

> should I append "#define HAVE_GAS_HIDDEN 1" to
> gcc-build/gcc/auto-host.h in chapter 5 ?

Yes, only in Ch 5. No need in Ch 6.

so, go read the LFS book about installing gcc and glibc and make use of these 
notes.
- --
Unsubscribe: send email to listar at linuxfromscratch.org
and put 'unsubscribe lfs-dev' in the subject header of the message
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE9i/mlSrrWWknCnMIRApnRAJ9zHz+//G3itDDehymIsy8JQ3/kRACgpKfs
S/vAK3YdvPNg8KRcVYBVdpw=
=bOzu
-----END PGP SIGNATURE-----




More information about the Linux-users mailing list