your broken glibc/atexit problem solution!!!!

Tim Wunder tim
Mon May 17 11:37:59 PDT 2004


Interesting... maybe this will help me...

On Saturday 21 September 2002 12:46 am, Greg Schafer wrote:
> -----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)
>

Hmmm... I try 'make check' in the glibc-build directory and get:
make[2]: Entering directory `/usr/src/glibc-2.2.5/csu'
make[2]: *** No rule to make target 
`/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/include/stddef.h', needed by 
`/usr/src/glibc-build/bits/stdio_lim.st'.  Stop.

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

my binutils version:
2.10.1
Perhaps that's the answer, update binutils...(cool more tail chasing instead 
of a re-install)

>  * 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.

Unfortunately, I think this is different from my problem. I still think my 
problem is more akin to 
http://ricardo.ecn.wfu.edu/glib-linux-archive/0110/0007.html, which seems to 
indicate an update of gcc will fix things. Unfortunately, I can't get gcc 3x 
to compile.

So my fix is *still* a reinstall.

Regards, 
Tim

-- 
Caldera eWorkstation 3.1+, kernel 2.4.18-preempt, KDE 3.0.3, Xfree86 4.1.0
  8:00am  up 1 day,  8:46,  2 users,  load average: 0.00, 0.00, 0.00
It's what you learn AFTER you know it all that counts


More information about the Linux-users mailing list