View Bug Activity | Format For Printing
See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14660 The problem is (gdb) bt #0 0xb77e9942 in _dl_sysinfo_int80 () at rtld.c:571 #1 0xb76e9165 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:67 #2 0xb76ea949 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #3 0x08049dbf in _Unwind_SetGR (context=0x0, index=6, val=0) at /net/gnu/export/gnu/src/gcc-3.4/gcc/gcc/unwind-dw2.c:240 #4 0x08049aa2 in __gcc_personality_v0 (version=1, actions=10, exception_class=3221213696, ue_header=0x0, context=0xbfffd020) at /net/gnu/export/gnu/src/gcc-3.4/gcc/gcc/unwind-c.c:190 #5 0xb76ae7f6 in _Unwind_ForcedUnwind_Phase2 (exc=0xb77d7b40, context=0xbfffd020) at unwind.inc:180 #6 0xb76ae8d7 in _Unwind_ForcedUnwind (exc=0xb77d7b40, stop=0, stop_argument=0x0) at unwind.inc:211 #7 0xb77e3ab2 in _Unwind_ForcedUnwind (exc=0xb77d7b40, stop=0xb77d7b40, stop_argument=0xb77d7b40) at ../nptl/sysdeps/pthread/unwind-forcedunwind.c:88 #8 0xb77e18f1 in *__GI___pthread_unwind (buf=0xb77d7b40) at unwind.c:130 #9 0xb77e044d in __pthread_setcanceltype (type=1, oldtype=0x0) at pthreadP.h:149 #10 0x08049012 in do_test () at tst-cleanup0.c:62 #11 0x08049354 in main (argc=0, argv=0xbfffd274) at test-skeleton.c:268 (gdb) info shared From To Syms Read Shared Object Library 0xb77dc490 0xb77e3f60 Yes /export/build/gnu/glibc-nptl-3.4/build-i686-linux/nptl/libpthread.so.0 0xb76d60a0 0xb77b09ac Yes /export/build/gnu/glibc-nptl-3.4/build-i686-linux/libc.so.6 0xb77e9940 0xb77fbd6f Yes /export/build/gnu/glibc-nptl-3.4/build-i686-linux/elf/ld-linux.so.2 0xb76ab690 0xb76b0ab0 Yes /lib/libgcc_s.so.1 As you can see, _Unwind_ForcedUnwind comes from libgcc_s.so.1 and _Unwind_SetGR comes from executable. They won't work together since they use their own copy of dwarf_reg_size_table. The relevant gcc change is http://gcc.gnu.org/ml/gcc-patches/2003-10/msg00013.html
Created an attachment (id=44) A patch to use --as-needed This patch uses --as-needed when it is available. I tested it on ia32 and ia64. It works fine for me.
The patch does too much. There is no need for HAVE_AS_NEEDED. I've removed those parts and applied the rest.
There are a few typoes in my previous patch. It should check if -lgcc_s exists before using it. Also it should use -Wl,--as-needed, instead of just --as-needed.
Created an attachment (id=50) A patch to check -lgcc_s and add -Wl,
any updates on getting glibc 2.3.2 working under gcc 3.4?
I'm building with 3.4 every day. If somebody has a problem it is with the local installation.