bug-binutils
[Top][All Lists]
Advanced

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

[Bug gold/27625] powerpc64: gold erroneously rejects linking code that c


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gold/27625] powerpc64: gold erroneously rejects linking code that calls __tls_get_addr
Date: Tue, 30 Mar 2021 03:17:48 +0000

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

--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Alan Modra <amodra@sourceware.org>:

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

commit 0af4fcc25dd5e2f98698da03396084258ebfb756
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Mar 30 12:25:03 2021 +1030

    PR27625, powerpc64 gold __tls_get_addr calls

    This patch supports linking powerpc64 glibc with gold, specifically
    the __tls_get_addr call in elf/dl-sym.c.  That call lacks marker
    relocations tying it to the arg setup instructions, but the arg setup
    insns are also contructed lacking the usual relocations on a Global
    Dynamic TLS code sequence.  So there is no chance that anything in
    that sequence might be wrongly edited by the linker.

    In fact, the aim of linking glibc could have been supported by simply
    omitting the error whenever TLS optimisation is disabled, as it is
    when linking a shared library.  The patch goes further than that,
    disabling TLS GD and LD sequence optimisation on a per-object basis
    for object files lacking marker relocs.

            PR gold/27625
            * powerpc.cc (Powerpc_relobj): Add no_tls_marker_, tls_marker_,
            and tls_opt_error_ variables and accessors.
            (Target_powerpc::Scan::local, global): Call set_tls_marker and
            set_no_tls_marker for GD and LD code sequence relocations.
            (Target_powerpc::Relocate::relocate): Downgrade the "lacks marker
            reloc" error to a warning when safe to do so, and omit the error
            entirely if not optimising TLS sequences.  Do not optimise GD and
            LD sequences for objects lacking marker relocs.
            (Target_powerpc::relocate_relocs): Heed no_tls_marker here too.

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