|
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.
[Prev in Thread] | Current Thread | [Next in Thread] |