[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gold/30217] PowerPC: R_PPC64_JMP_SLOT relocation on local std::map
From: |
cvs-commit at gcc dot gnu.org |
Subject: |
[Bug gold/30217] PowerPC: R_PPC64_JMP_SLOT relocation on local std::map symbol when using -mlongcall and --version-script |
Date: |
Tue, 21 Mar 2023 23:09:18 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=30217
--- Comment #3 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot
gnu.org> ---
The binutils-2_40-branch branch has been updated by Alan Modra
<amodra@sourceware.org>:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=af35798e957c457b6de8be01f877040c2cbeeec2
commit af35798e957c457b6de8be01f877040c2cbeeec2
Author: Alan Modra <amodra@gmail.com>
Date: Wed Mar 15 18:07:44 2023 +1030
PR30217, dynamic relocations using local dynamic symbols
glibc's ld.so ignores local dynamic symbols. It's been that way
forever. We therefore can't use them on dynamic relocations. Fixing
that problem uncovered another problem in sorting of dynamic relocs,
caused no doubt by copying make_iplt_section (where we don't want
reloc sorting by the generic gold function, we want iplt relocs last)
to make_lplt_section (where we do want sorting).
PR 30217
* powerpc.cc (branch_needs_plt_entry): New function.
(Target_powerpc::plt_off): Use it here..
(Target_powerpc::Scan::global): ..and here to correct PLT16 reloc
handling for forced-local global symbols.
(Output_data_plt_powerpc::add_entry): Rename "stash"
parameter "is_local". Emit relative relocs for globals that
are forced local, and don't set_needs_dynsym_entry.
(Target_powerpc::make_lplt_section): Don't create a separate
reloc section, use rela_dyn.
(Target_powerpc::make_brlt_section): Likewise.
(cherry picked from commit 0961e631575b0a1eafccf32fbde56d456aef9169)
--
You are receiving this mail because:
You are on the CC list for the bug.