public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "markus at trippelsdorf dot de" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/51832] [4.7 regression] Rev.182970 causes LTO link errors (multiple definitions of allocator_traits)
Date: Thu, 19 Jan 2012 18:58:00 -0000	[thread overview]
Message-ID: <bug-51832-4-mIY3oHeOTE@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-51832-4@http.gcc.gnu.org/bugzilla/>

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51832

--- Comment #17 from Markus Trippelsdorf <markus at trippelsdorf dot de> 2012-01-19 18:18:03 UTC ---
I ran git bisected on ld.bfd. Since this commit my testcase fails:

4b96312bb623ba76b035ac3b3c5afe583bebca76 is the first bad commit
commit 4b96312bb623ba76b035ac3b3c5afe583bebca76
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Sun Apr 17 23:15:11 2011 +0000

        PR ld/12365
        PR ld/12672
    bfd/
        * bfd.c (BFD_PLUGIN): Define.
        (BFD_FLAGS_SAVED, BFD_FLAGS_FOR_BFD_USE_MASK): Add BFD_PLUGIN.
        * bfd-in2.h: Regenerate.
        * elflink.c (elf_link_output_extsym): Strip undefined plugin syms.
        * opncls.c (bfd_make_readable): Don't lose original bfd flags.
    ld/
        * ldfile.c (ldfile_try_open_bfd): Don't attempt any plugin action
        when no_more_claiming.
        * ldmain.c (add_archive_element): Likewise.
        (multiple_definition): Remove plugin_multiple_definition call.
        (notice): Remove plugin_notice call.
        * ldlang.c (lang_list_insert_after, void lang_list_remove_tail): Move.
        Delete prototype.
        (plugin_insert): New static var.
        (open_input_bfds): Only rescan libs after plugin insert point.
        (lang_gc_sections): Omit plugin claimed files.
        (lang_process): Set plugin_insert.  Only rescan when plugin adds
        objects.
        * plugin.h (no_more_claiming): Declare.
        (plugin_notice, plugin_multiple_definition): Don't declare.
        * plugin.c: Formatting.
        (orig_notice_all, orig_allow_multiple_defs, orig_callbacks,
        plugin_callbacks): New static vars.
        (no_more_claiming): Make global.
        (plugin_cached_allow_multiple_defs): Delete.
        (plugin_get_ir_dummy_bfd): Set SEC_EXCLUDE on dummy .text section,
        use newer bfd_make_section variant.  Make COMMON section too.
        Error handling.  Correct setting of gp size.
        (asymbol_from_plugin_symbol): Properly cast last arg of concat.
        (message): Likewise for ACONCAT.
        (asymbol_from_plugin_symbol): Use our COMMON section.
        (get_symbols): When report_plugin_symbols, show visibility too.
        (init_non_ironly_hash): Move.  Don't test non_ironly_hash.
        (plugin_load_plugins): Save state of linker callbacks, set up to
        call plugin_notice instead.  Call init_non_ironly_hash here.
        (plugin_call_all_symbols_read): Set plugin_multiple_definition in
        plugin callbacks.
        (plugin_notice): Rewrite.
        (plugin_multiple_definition): Make static, call original callback.
    ld/testsuite/
        * ld-plugin/plugin-7.d: Adjust for plugin changes.
        * ld-plugin/plugin-8.d: Likewise.
        * ld-plugin/plugin.exp: Pass --verbose=2 for visibility test, and
        compare ld output to..
        * ld-plugin/plugin-12.d: New


  parent reply	other threads:[~2012-01-19 18:18 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-12  1:24 [Bug c++/51832] New: " markus at trippelsdorf dot de
2012-01-12  8:55 ` [Bug c++/51832] " rguenth at gcc dot gnu.org
2012-01-12  9:07 ` markus at trippelsdorf dot de
2012-01-12 12:11 ` markus at trippelsdorf dot de
2012-01-12 15:26 ` jason at gcc dot gnu.org
2012-01-12 16:15 ` markus at trippelsdorf dot de
2012-01-13 19:02 ` jason at gcc dot gnu.org
2012-01-13 22:10 ` markus at trippelsdorf dot de
2012-01-14  8:06 ` markus at trippelsdorf dot de
2012-01-14 10:15 ` marc.glisse at normalesup dot org
2012-01-14 17:07 ` steven at gcc dot gnu.org
2012-01-16 10:58 ` rguenth at gcc dot gnu.org
2012-01-16 22:52 ` jason at gcc dot gnu.org
2012-01-17  0:06 ` markus at trippelsdorf dot de
2012-01-19  9:38 ` markus at trippelsdorf dot de
2012-01-19 12:55 ` rguenth at gcc dot gnu.org
2012-01-19 15:32 ` jason at gcc dot gnu.org
2012-01-19 16:19 ` markus at trippelsdorf dot de
2012-01-19 18:32 ` markus at trippelsdorf dot de
2012-01-19 18:58 ` markus at trippelsdorf dot de [this message]
2012-01-20  0:05 ` jason at gcc dot gnu.org
2012-01-20 18:40 ` jason at gcc dot gnu.org
2012-01-20 20:07 ` jason at gcc dot gnu.org
2012-01-22 21:19 ` jason at gcc dot gnu.org
2012-01-22 21:25 ` jason at gcc dot gnu.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-51832-4-mIY3oHeOTE@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).