http://sourceware.org/bugzilla/show_bug.cgi?id=15516
Alan Modra <amodra at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME --- Comment #3 from Alan Modra <amodra at gmail dot com> 2013-05-24 09:54:14 UTC --- I could not reproduce this with current mainline binutils. The following extract from a debug session shows one of the typeinfo symbols hitting _bfd_exf_export_symbol. We get there due to -Wl,--dynamic-list-cpp-typeinfo. Notice the plugin sym doesn't have def_regular or ref_regular set, so is not exported dynamic. The second sym showed me what Jan meant by "turned into static", and is some evidence that ld is being exercised in a way that would trigger the bug if it still existed. I suspect the bug was fixed along with PR15270, or one of my other patches in late March. Jan if you can reproduce with mainline ld, please attach at set of objects that reproduce the problem, and reopen the bug. Breakpoint 2, _bfd_elf_export_symbol (h=0x114a2c0, data=0x7fffffffd1e0) at /src/binutils-current/bfd/elflink.c:1813 (gdb) p *h $28 = {root = {root = {next = 0x0, string = 0x11555fc "_ZTIN3com3sun4star3uno9ExceptionE", hash = 474875173}, type = bfd_link_hash_defweak, non_ir_ref = 1, u = {undef = {next = 0x114a2c0, abfd = 0x1135198}, def = {next = 0x114a2c0, section = 0x1135198, value = 0}, i = {next = 0x114a2c0, link = 0x1135198, warning = 0x0}, c = {next = 0x114a2c0, p = 0x1135198, size = 0}}}, indx = -1, dynindx = -1, got = {refcount = 0, offset = 0, glist = 0x0, plist = 0x0}, plt = {refcount = 0, offset = 0, glist = 0x0, plist = 0x0}, size = 16, type = 1, other = 0, target_internal = 0, ref_regular = 0, def_regular = 0, ref_dynamic = 1, def_dynamic = 0, ref_regular_nonweak = 0, dynamic_adjusted = 0, needs_copy = 0, needs_plt = 0, non_elf = 0, hidden = 0, forced_local = 0, dynamic = 1, mark = 0, non_got_ref = 0, dynamic_def = 1, ref_dynamic_nonweak = 0, pointer_equality_needed = 0, unique_global = 0, dynstr_index = 0, u = {weakdef = 0x0, elf_hash_value = 0}, verinfo = {verdef = 0x0, vertree = 0x0}, vtable = 0x0} (gdb) p h->root.u.def.section->owner->filename $29 = 0x1094ee0 "/home/alan/build/libreoffice/workdir/unxlngx6.pro/CxxObject/i18npool/source/localedata/saxparser.o (symbol from plugin)" (gdb) c Continuing. Breakpoint 2, _bfd_elf_export_symbol (h=0x16657d8, data=0x7fffffffd1e0) at /src/binutils-current/bfd/elflink.c:1813 (gdb) p *h $30 = {root = {root = {next = 0x0, string = 0x168264d "_ZTIN3com3sun4star3uno9ExceptionE.lto_priv.27", hash = 1034143234}, type = bfd_link_hash_defined, non_ir_ref = 1, u = {undef = {next = 0x0, abfd = 0x1680b88}, def = {next = 0x0, section = 0x1680b88, value = 1232}, i = {next = 0x0, link = 0x1680b88, warning = 0x4d0 <Address 0x4d0 out of bounds>}, c = {next = 0x0, p = 0x1680b88, size = 1232}}}, indx = -1, dynindx = -1, got = {refcount = 0, offset = 0, glist = 0x0, plist = 0x0}, plt = {refcount = 3, offset = 3, glist = 0x3, plist = 0x3}, size = 16, type = 1, other = 2, target_internal = 0, ref_regular = 1, 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, dynamic = 1, mark = 0, non_got_ref = 1, dynamic_def = 0, ref_dynamic_nonweak = 0, pointer_equality_needed = 1, unique_global = 0, dynstr_index = 0, u = {weakdef = 0x0, elf_hash_value = 0}, verinfo = {verdef = 0x0, vertree = 0x0}, vtable = 0x0} (gdb) p h->root.u.def.section->owner->filename $31 = 0x110e8c0 "saxparser.ltrans1.ltrans.o" (gdb) c Continuing. [Inferior 1 (process 21141) exited normally] (gdb) -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils