http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48423
--- Comment #7 from vincenzo Innocente <vincenzo.innocente at cern dot ch> 2011-05-14 17:24:12 UTC --- the snapshot ftp://sourceware.org/pub/binutils/snapshots/binutils-2.21.51.tar.bz2 from 14/5/11 5:43:00 AM seems ok for what ld.bdf is concerned (no warning, no crash, export correctly "vtable and typeinfo") unwind info is not perfect though: (this is now with gcc version 4.6.1 20110422 (prerelease) (GCC) -------------------- ld.bdf GNU ld (GNU Binutils) 2.21.51.20110514 (gdb) where #0 0x00007ffff74d4350 in bhook () from ./plugD.so #1 0x00007ffff74d3c1b in global constructors keyed to 65535_0_ccXmBt7V.o.3972.2223 () from ./plugD.so #2 0x00007ffff74d4485 in __do_global_ctors_aux () from ./plugD.so #3 0x00007ffff74d3a33 in _init () from ./plugD.so #4 0x0000003600000000 in ?? () #5 0x000000362d60e495 in _dl_init_internal () from /lib64/ld-linux-x86-64.so.2 #6 0x000000362d612be2 in dl_open_worker () from /lib64/ld-linux-x86-64.so.2 #7 0x000000362d60e0f6 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2 #8 0x000000362d61244a in _dl_open () from /lib64/ld-linux-x86-64.so.2 #9 0x000000362de00f66 in dlopen_doit () from /lib64/libdl.so.2 #10 0x000000362d60e0f6 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2 #11 0x000000362de0129c in _dlerror_run () from /lib64/libdl.so.2 #12 0x000000362de00ee1 in dlopen@@GLIBC_2.2.5 () from /lib64/libdl.so.2 #13 0x0000000000401b4d in get () #14 0x0000000000603058 in ?? () #15 0x00007fffffffd78f in ?? () #16 0x0000000000603088 in ?? () #17 0x00007ffff7b977f3 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) () from /usr/local/lib64/libstdc++.so.6 #18 0x0000000000401828 in main () ----------------------- ld.gold GNU gold (GNU Binutils 2.21.51.20110514) 1.11 (a bit better than before) #0 0x00007ffff7ad1020 in bhook () from ./plugD.so #1 0x00007ffff7ad10db in global constructors keyed to 65535_0_ccG5kmS1.o.3972.2223 () from ./plugD.so #2 0x00007fffffffd298 in ?? () #3 0x00000000ffffd030 in ?? () #4 0x00007fffffffd298 in ?? () #5 0x00007ffff7ad2ad0 in __CTOR_LIST__ () from ./plugD.so #6 0x00007fffffffd260 in ?? () #7 0x0000000000403800 in ?? () #8 0x0000000000403800 in ?? () #9 0x00007ffff7ad1245 in __do_global_ctors_aux () from ./plugD.so #10 0x00007ffff7ad07d3 in _init () from ./plugD.so #11 0x0000003600000000 in ?? () #12 0x000000362d60e495 in _dl_init_internal () from /lib64/ld-linux-x86-64.so.2 #13 0x000000362d612be2 in dl_open_worker () from /lib64/ld-linux-x86-64.so.2 #14 0x000000362d60e0f6 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2 #15 0x000000362d61244a in _dl_open () from /lib64/ld-linux-x86-64.so.2 #16 0x000000362de00f66 in dlopen_doit () from /lib64/libdl.so.2 #17 0x000000362d60e0f6 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2 #18 0x000000362de0129c in _dlerror_run () from /lib64/libdl.so.2 #19 0x000000362de00ee1 in dlopen@@GLIBC_2.2.5 () from /lib64/libdl.so.2 #20 0x00000000004016cd in get () #21 0x0000000000401858 in main () ------------------------------------------------------------ ld.bdf from http://www.kernel.org/pub/linux/devel/binutils/binutils-2.21.51.0.8.x86_64.tar.bz2 GNU ld (Linux/GNU Binutils) 2.21.51.0.8.20110408 Breakpoint 1, 0x00007ffff74d3f30 in bhook () from ./plugD.so Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.7.el6_0.5.x86_64 (gdb) where #0 0x00007ffff74d3f30 in bhook () from ./plugD.so #1 0x00007ffff74d37fb in global constructors keyed to 65535_0_ccnS2aOK.o.3972.2223 () from ./plugD.so #2 0x00007ffff74d4065 in __do_global_ctors_aux () from ./plugD.so #3 0x00007ffff74d3613 in _init () from ./plugD.so #4 0x0000003600000000 in ?? () #5 0x000000362d60e495 in _dl_init_internal () from /lib64/ld-linux-x86-64.so.2 #6 0x000000362d612be2 in dl_open_worker () from /lib64/ld-linux-x86-64.so.2 #7 0x000000362d60e0f6 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2 #8 0x000000362d61244a in _dl_open () from /lib64/ld-linux-x86-64.so.2 #9 0x000000362de00f66 in dlopen_doit () from /lib64/libdl.so.2 #10 0x000000362d60e0f6 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2 #11 0x000000362de0129c in _dlerror_run () from /lib64/libdl.so.2 #12 0x000000362de00ee1 in dlopen@@GLIBC_2.2.5 () from /lib64/libdl.so.2 #13 0x000000000040119d in get () #14 0x0000000000400e78 in main ()