bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gold/21074] [2.28 Regression] bfd ld stumbles over duplicated symbo


From: ccoutant at gmail dot com
Subject: [Bug gold/21074] [2.28 Regression] bfd ld stumbles over duplicated symbols generated by gold
Date: Tue, 24 Jan 2017 22:09:57 +0000

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

--- Comment #10 from Cary Coutant <ccoutant at gmail dot com> ---
I had a theory about how to make this happen; it's similar to a problem I ran
into with _GLOBAL_OFFSET_TABLE_ just last month. But no luck so far making it
happen with __bss_start.

Is is possible that you're using a version of gold without the following
commit? (This was backported to 2.28.)


commit 40d7d93ff412f4c34cde3daa04890d5cd2e0d9c9
Author: Cary Coutant <address@hidden>
Date:   Wed Dec 21 17:32:39 2016 -0800

    Fix problem where version script causes predefined hidden symbol to be
defined twice.

    When creating a predefined hidden symbol like _GLOBAL_OFFSET_TABLE_, gold
    was incorrectly letting a version script add a version to the symbol,
    resulting in two copies of the symbol, both STB_LOCAL, but one of which
    was grouped in the globals part of the symbol table.

    gold/
            * symtab.cc (Symbol_table::define_special_symbol): Add
is_forced_local
            parameter; if set, do not check version script.
            (Symbol_table::do_define_in_output_data): Pass is_forced_local for
            STB_LOCAL predefined symbols.
            (Symbol_table::do_define_in_output_segment): Likewise.
            (Symbol_table::do_define_in_output_segment): Likewise.
            (Symbol_table::do_define_as_constant): Likewise.
            * symtab.h (Symbol_table::define_special_symbol): Add
is_forced_local
            parameter. Adjust all callers.
            * testsuite/Makefile.am (ver_test_8.sh): New test case.
            * testsuite/Makefile.in: Regenerate.
            * ver_test_8.sh: New test script.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]