aboutsummaryrefslogtreecommitdiff
path: root/gold/powerpc.cc
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2017-07-31 10:18:46 +0930
committerAlan Modra <amodra@gmail.com>2017-07-31 13:20:44 +0930
commitd44c746aedeb31aacd867edc2da30dedc1e63e15 (patch)
tree2e8e6f68db504b37e84bfc8644321e4ccfc983c5 /gold/powerpc.cc
parent93e0a1eab1c7963d77513aa503b129ea03cd6d39 (diff)
downloadfsf-binutils-gdb-d44c746aedeb31aacd867edc2da30dedc1e63e15.zip
fsf-binutils-gdb-d44c746aedeb31aacd867edc2da30dedc1e63e15.tar.gz
fsf-binutils-gdb-d44c746aedeb31aacd867edc2da30dedc1e63e15.tar.bz2
PR 21847, PowerPC64 --plt-localentry again
This makes ld warn about --plt-localentry if a version of glibc without the necessary ld.so checks is detected, and revises the documentation. bfd/ * elf64-ppc.c (ppc64_elf_tls_setup): Warn on --plt-localentry without ld.so checks. gold/ * powerpc.cc (Target_powerpc::scan_relocs): Warn on --plt-localentry without ld.so checks. ld/ * ld.texinfo (plt-localentry): Revise.
Diffstat (limited to 'gold/powerpc.cc')
-rw-r--r--gold/powerpc.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/gold/powerpc.cc b/gold/powerpc.cc
index e322d6f..14e56d8 100644
--- a/gold/powerpc.cc
+++ b/gold/powerpc.cc
@@ -7660,6 +7660,10 @@ Target_powerpc<size, big_endian>::scan_relocs(
{
if (parameters->options().user_set_plt_localentry())
plt_localentry0 = parameters->options().plt_localentry();
+ if (plt_localentry0
+ && symtab->lookup("GLIBC_2.26", NULL) == NULL)
+ gold_warning(_("--plt-localentry is especially dangerous without "
+ "ld.so support to detect ABI violations"));
}
this->plt_localentry0_ = plt_localentry0;
this->plt_localentry0_init_ = true;