bug-binutils
[Top][All Lists]
Advanced

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

[Bug gold/28192] powerpc64le: gold generates wrong address with a reloca


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gold/28192] powerpc64le: gold generates wrong address with a relocation of symbol+offset@got@pcrel
Date: Thu, 30 Sep 2021 02:36:42 +0000

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

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

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

commit f8069e2ccf9f25e2cccb09dd02d924d3cace9391
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Aug 25 21:58:51 2021 +0930

    [GOLD] Got_entry::write addends

    This takes care of writing out GOT entries with addends.  The local
    symbol case was already largely handled, except for passing the addend
    to tls_offset_for_local which might need the addend in a
    local_got_offset call.  That's needed also in tls_offset_for_global.

    I'm assuming here that GOT entries for function symbols won't ever
    have addends, and in particular that a GOT entry referencing PLT call
    stub code won't want an offset into the code.

            PR 28192
            * output.cc (Output_data_got::Got_entry::write): Include addend
            in global symbol value.  Pass addend to tls_offset_for_*.
            * powerpc.cc (Target_powerpc::do_tls_offset_for_local): Handle
addend.
            (Target_powerpc::do_tls_offset_for_global): Likewise.
            * s390.cc (Target_s390::do_tls_offset_for_local): Likewise.
            (Target_s390::do_tls_offset_for_global): Likewise.
            * target.h (Target::tls_offset_for_local): Add addend param.
            (Target::tls_offset_for_global): Likewise.
            (Target::do_tls_offset_for_local): Likewise.
            (Target::do_tls_offset_for_global): Likewise.

    (cherry picked from commit e4d49a0f908415edb7a7e718ef2008a96dd43f9b)

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