https://sourceware.org/bugzilla/show_bug.cgi?id=22868

--- Comment #11 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Cary Coutant <ccout...@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0b7a4aa6ba5a144b7ce616e80e95d9ff944fec2e

commit 0b7a4aa6ba5a144b7ce616e80e95d9ff944fec2e
Author: Cary Coutant <ccout...@gmail.com>
Date:   Fri Mar 23 09:03:34 2018 -0700

    Fix case where IR file provides symbol visibility but replacement file does
not.

    In PR 22868, two IR files provide conflicting visibility for a symbol.
    When a def with PROTECTED visibility is seen after a def with DEFAULT
    visibility, gold does not override the visibility. Later, if the
    replacement object define the symbol with DEFAULT visibility, the symbol
    remains DEFAULT. This was caused by a recent change to allow
multiply-defined
    absolute symbols, combined with the fact that the plugin framework was
using
    SHN_ABS as the section index for placeholder symbols. The solution is to
    use a real (but arbitrary) section index.

    gold/
        PR gold/22868
        * plugin.cc (Sized_pluginobj::do_add_symbols): Use a real section
        index instead of SHN_ABS for defined symbols.
        * testsuite/Makefile.am (plugin_pr22868): New test case.
        * testsuite/Makefile.in: Regenerate
        * testsuite/plugin_pr22868.sh: New test script.
        * testsuite/plugin_pr22868_a.c: New source file.
        * testsuite/plugin_pr22868_b.c: New source file.

-- 
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

Reply via email to