http://sourceware.org/bugzilla/show_bug.cgi?id=15516
--- Comment #4 from hubicka at ucw dot cz 2013-05-24 11:42:48 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. Martin, do you think you can double check if the mainline binutils triggers the bug or not? The error sadly happens during libreoffice build that is bit hard to turn into resoable testcase (the module is small though). I was surprised that the bug does not trigger more often, since mainline GCC since 2013-05-15 Jan Hubicka <j...@suse.cz> PR lto/57038 PR lto/47375 * lto-partition.c (get_symbol_class): Fix weakrefs. (lto_balanced_map): Fix weakrefs. (privatize_symbol_name): Remove unnecesary label. (rename_statics): Handle weakrefs as statics. produces quite a lot of such changes (previously GCC always renamed the symbol but people complained it makes debugging harder). Honza > 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 reported the bug. -- 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