diff options
author | Alan Modra <amodra@gmail.com> | 2019-06-23 12:28:39 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2019-06-23 23:11:27 +0930 |
commit | bb22a41815facfaa3de621aad5d055eb8e477082 (patch) | |
tree | bd54a134f929ced282316e5a215330117f4bb728 /bfd/ChangeLog | |
parent | 14b2a8e4244a29208ad430167860a0f01b20f215 (diff) | |
download | gdb-bb22a41815facfaa3de621aad5d055eb8e477082.zip gdb-bb22a41815facfaa3de621aad5d055eb8e477082.tar.gz gdb-bb22a41815facfaa3de621aad5d055eb8e477082.tar.bz2 |
PR24704, Internal error building skiboot for powerpc64-linux-gnu
While the skiboot linker script bears some culpability in this PR,
it's also true that the GOT indirect to GOT relative optimisation for
16-bit offsets isn't safe. At least, it isn't safe to remove the GOT
entry based on distance between the GOT pointer and symbol calculated
from the preliminary layout. So this patch removes that optimisation,
and reduces the range allowed for 32-bit and 34-bit offsets.
PR 24704
bfd/
* elf64-ppc.c (R_PPC64_GOT16_DS): Don't set has_gotrel.
(ppc64_elf_edit_toc): Don't remove R_PPC64_GOT16_DS got entries.
Reduce range of offsets allowed for other GOT relocs.
ld/
* testsuite/ld-powerpc/elfv2exe.d: Update.
* testsuite/ld-powerpc/elfv2so.d: Update.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r-- | bfd/ChangeLog | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 964ab71..0914e7d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,12 @@ 2019-06-23 Alan Modra <amodra@gmail.com> + PR 24704 + * elf64-ppc.c (R_PPC64_GOT16_DS): Don't set has_gotrel. + (ppc64_elf_edit_toc): Don't remove R_PPC64_GOT16_DS got entries. + Reduce range of offsets allowed for other GOT relocs. + +2019-06-23 Alan Modra <amodra@gmail.com> + PR 24689 * elfcode.h (elf_object_p): Warning fix. |