diff options
author | Alan Modra <amodra@gmail.com> | 2017-07-31 10:18:46 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2017-07-31 13:20:44 +0930 |
commit | d44c746aedeb31aacd867edc2da30dedc1e63e15 (patch) | |
tree | 2e8e6f68db504b37e84bfc8644321e4ccfc983c5 /ld | |
parent | 93e0a1eab1c7963d77513aa503b129ea03cd6d39 (diff) | |
download | gdb-d44c746aedeb31aacd867edc2da30dedc1e63e15.zip gdb-d44c746aedeb31aacd867edc2da30dedc1e63e15.tar.gz 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 'ld')
-rw-r--r-- | ld/ChangeLog | 4 | ||||
-rw-r--r-- | ld/ld.texinfo | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 2a371b9..3c918e6 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,7 @@ +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. diff --git a/ld/ld.texinfo b/ld/ld.texinfo index 172c1dd..ebe7e7b 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo @@ -7613,8 +7613,11 @@ Such an external function can be called via the PLT without saving r2 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 |