+2017-07-31 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_tls_setup): Warn on --plt-localentry
+ without ld.so checks.
+
2017-07-29 Alan Modra <amodra@gmail.com>
PR 21847
--plt-localentry can cause trouble. */
if (htab->params->plt_localentry0 < 0)
htab->params->plt_localentry0 = 0;
+ if (htab->params->plt_localentry0
+ && elf_link_hash_lookup (&htab->elf, "GLIBC_2.26",
+ FALSE, FALSE, FALSE) == NULL)
+ info->callbacks->einfo
+ (_("%P: warning: --plt-localentry is especially dangerous without "
+ "ld.so support to detect ABI violations.\n"));
htab->tls_get_addr = ((struct ppc_link_hash_entry *)
elf_link_hash_lookup (&htab->elf, ".__tls_get_addr",
+2017-07-31 Alan Modra <amodra@gmail.com>
+
+ * powerpc.cc (Target_powerpc::scan_relocs): Warn on --plt-localentry
+ without ld.so checks.
+
2017-07-29 Alan Modra <amodra@gmail.com>
PR 21847
{
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;
+2017-07-31 Alan Modra <amodra@gmail.com>
+
+ * ld.texinfo (plt-localentry): Revise.
+
2017-07-29 Alan Modra <amodra@gmail.com>
* ld.texinfo (plt-localentry): Document.
or restoring it on return, avoiding a common load-hit-store for small
functions. The optimization is attractive, with up to 40% reduction
in execution time for a small function, but can result in symbol
-interposition failures. Use with care. @option{--no-plt-localentry}
-is the default.
+interposition failures. Also, minor changes in a shared library,
+including system libraries, can cause a function that was localentry:0
+to become localentry:8. This will result in a dynamic loader
+complaint and failure to run. The option is experimental, use with
+care. @option{--no-plt-localentry} is the default.
@end table
@ifclear GENERIC