aboutsummaryrefslogtreecommitdiff
path: root/ld/ChangeLog
diff options
context:
space:
mode:
authorStafford Horne <shorne@gmail.com>2021-05-06 20:51:25 +0900
committerStafford Horne <shorne@gmail.com>2021-05-06 20:51:25 +0900
commit284a1309021a0ef4c29f198470d95652f02b13f0 (patch)
tree2d03e9e8e31054b85767672cc6802712b14161eb /ld/ChangeLog
parent3c3de29b048bca6b4aa4235c647b9328e71801b6 (diff)
downloadbinutils-284a1309021a0ef4c29f198470d95652f02b13f0.zip
binutils-284a1309021a0ef4c29f198470d95652f02b13f0.tar.gz
binutils-284a1309021a0ef4c29f198470d95652f02b13f0.tar.bz2
or1k: Support large plt_relocs when generating plt entries
The current PLT generation code will generate invalid code when the PLT relocation offset exceeds 64k. This fixes the issue by detecting large plt_reloc offsets and generare code sequences to create larger plt relocations. The "large" plt code needs 2 extra instructions to create 32-bit offsets. bfd/ChangeLog: PR 27746 * elf32-or1k.c (PLT_ENTRY_SIZE_LARGE, PLT_MAX_INSN_COUNT, OR1K_ADD, OR1K_ORI): New macros to help with plt creation. (elf_or1k_link_hash_table): New field plt_count. (elf_or1k_link_hash_entry): New field plt_index. (elf_or1k_plt_entry_size): New function. (or1k_write_plt_entry): Update to support variable size PLTs. (or1k_elf_finish_dynamic_sections): Use new or1k_write_plt_entry API. (or1k_elf_finish_dynamic_symbol): Update to write large PLTs when needed. (allocate_dynrelocs): Use elf_or1k_plt_entry_size to account for PLT size. ld/ChangeLog: PR 27746 testsuite/ld-or1k/or1k.exp (or1kplttests): Add tests for linking along with gotha() relocations. testsuite/ld-or1k/gotha1.dd: New file. testsuite/ld-or1k/gotha1.s: New file. testsuite/ld-or1k/gotha2.dd: New file. testsuite/ld-or1k/gotha2.s: New file testsuite/ld-or1k/pltlib.s (x): Define size to avoid link failure.
Diffstat (limited to 'ld/ChangeLog')
-rw-r--r--ld/ChangeLog12
1 files changed, 12 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 1ddf61d..6f6acdf 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,15 @@
+2021-05-06 Stafford Horne <shorne@gmail.com>
+
+ PR 27746
+ testsuite/ld-or1k/or1k.exp (or1kplttests): Add tests for linking
+ along with gotha() relocations.
+ testsuite/ld-or1k/gotha1.dd: New file.
+ testsuite/ld-or1k/gotha1.s: New file.
+ testsuite/ld-or1k/gotha2.dd: New file.
+ testsuite/ld-or1k/gotha2.s: New file
+ testsuite/ld-or1k/pltlib.s (x): Define size to avoid link
+ failure.
+
2021-05-06 Nick Alcock <nick.alcock@oracle.com>
* testsuite/ld-ctf/ctf.exp: Use -gctf, not -gt.