diff options
author | Alan Modra <amodra@gmail.com> | 2019-04-30 16:31:01 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2019-04-30 22:09:54 +0930 |
commit | 066f4018ae7822d81cb6747fd9494e5dd63bfecf (patch) | |
tree | d840b2ca4e38182f327d99d34a053d5b73a7b6a4 /ld/ChangeLog | |
parent | 8107ddcea1da07f1c4e902c17f045684beb78079 (diff) | |
download | fsf-binutils-gdb-066f4018ae7822d81cb6747fd9494e5dd63bfecf.zip fsf-binutils-gdb-066f4018ae7822d81cb6747fd9494e5dd63bfecf.tar.gz fsf-binutils-gdb-066f4018ae7822d81cb6747fd9494e5dd63bfecf.tar.bz2 |
PowerPC64 GOT indirect to GOT relative optimisation
This implements an optimisation that converts sequences like
addis r9,r2,sym@got@ha
ld r3,sym@got@l(r9)
to
addis r9,r2,sym@toc@ha
addi r3,r9,sym@toc@l
when "sym" is locally defined and can't be overridden.
bfd/
* elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_gotrel.
(struct _ppc64_elf_section_data): Likewise.
(ppc64_elf_check_relocs): Set above fields.
(ppc64_elf_edit_toc): Add a pass over GOT relocs.
(ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
when possible.
ld/
* testsuite/ld-powerpc/elfv2exe.d: Update.
* testsuite/ld-powerpc/elfv2so.d: Update.
* testsuite/ld-powerpc/tocopt.d: Update.
* testsuite/ld-powerpc/tocopt.s: Update.
* testsuite/ld-powerpc/tocopt5.d: Update.
* testsuite/ld-powerpc/tocopt5.s: Update.
* testsuite/ld-powerpc/tocopt7.d: Update.
* testsuite/ld-powerpc/tocopt7.s: Update.
* testsuite/ld-powerpc/tocopt8.d: Update.
* testsuite/ld-powerpc/tocopt8.s: Update.
Diffstat (limited to 'ld/ChangeLog')
-rw-r--r-- | ld/ChangeLog | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 630e637..40b90fb 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,18 @@ 2019-04-30 Alan Modra <amodra@gmail.com> + * testsuite/ld-powerpc/elfv2exe.d: Update. + * testsuite/ld-powerpc/elfv2so.d: Update. + * testsuite/ld-powerpc/tocopt.d: Update. + * testsuite/ld-powerpc/tocopt.s: Update. + * testsuite/ld-powerpc/tocopt5.d: Update. + * testsuite/ld-powerpc/tocopt5.s: Update. + * testsuite/ld-powerpc/tocopt7.d: Update. + * testsuite/ld-powerpc/tocopt7.s: Update. + * testsuite/ld-powerpc/tocopt8.d: Update. + * testsuite/ld-powerpc/tocopt8.s: Update. + +2019-04-30 Alan Modra <amodra@gmail.com> + * ld.texi (How GNU properties are merged): Avoid pod2man error. Correct example. |