------- Additional Comments From hjl at lucon dot org 2005-06-20 00:09 ------- It looks like a gcc bug. I got similar failures on both ia32 and x86_64:
http://sourceware.org/bugzilla/show_bug.cgi?id=1025 Starting program: /export/home/hjl/bugs/gcc/got/ld -shared -o foo.so compatibility.o string-inst.o --version-script=foo.ver Breakpoint 1, elf_i386_relocate_section (output_bfd=0x9626860, info=0x80f6e80, input_bfd=0x9642da0, input_section=0x96760cc, contents=0x9708de8 "U\211å\203ì(\213E\b\211]ô\213M\f\211uø\213u\024\211}ü\2138\213E\020è\232üÿÿ\201�r`", relocs=0x9686028, local_syms=0x96f8990, local_sections=0x9725600) at /net/gnu/export/linux/src/binutils/binutils/bfd/elf32-i386.c:2394 2394 abort (); (gdb) p *h $2 = {root = {root = {next = 0x0, string = 0x963898b "_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5", hash = 600204418}, type = bfd_link_hash_defined, u = {undef = { next = 0x0, abfd = 0x963b54c, weak = 0x0}, def = {next = 0x0, section = 0x963b54c, value = 0}, i = {next = 0x0, link = 0x963b54c, warning = 0x0}, c = {next = 0x0, p = 0x963b54c, size = 0}}}, indx = -1, dynindx = 17, got = {refcount = -1, offset = 4294967295, glist = 0xffffffff, plist = 0xffffffff}, plt = {refcount = -1, offset = 4294967295, glist = 0xffffffff, plist = 0xffffffff}, size = 22, type = 2, other = 0, ref_regular = 0, def_regular = 1, ref_dynamic = 0, def_dynamic = 0, ref_regular_nonweak = 0, dynamic_adjusted = 0, needs_copy = 0, needs_plt = 0, non_elf = 0, hidden = 0, forced_local = 0, forced_global = 0, mark = 0, non_got_ref = 0, dynamic_def = 0, dynamic_weak = 0, pointer_equality_needed = 0, provide = 0, dynstr_index = 1509, u = {weakdef = 0xe02201f, elf_hash_value = 235020319}, verinfo = {verdef = 0x961d6d8, vertree = 0x961d6d8}, vtable = 0x0} (gdb) -- What |Removed |Added ---------------------------------------------------------------------------- CC| |hjl at lucon dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22109