aboutsummaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2018-08-09 22:53:00 +0930
committerAlan Modra <amodra@gmail.com>2019-05-24 10:28:07 +0930
commit04bdff6a76b863e61ee46375dd7cdc9adfb75540 (patch)
tree2eca194aaa66a6a9b01295e073bfbb0b4a55a9e7 /bfd/ChangeLog
parent4a421c53cf609d68fe956c2e7270d34c0ab8500f (diff)
downloadgdb-04bdff6a76b863e61ee46375dd7cdc9adfb75540.zip
gdb-04bdff6a76b863e61ee46375dd7cdc9adfb75540.tar.gz
gdb-04bdff6a76b863e61ee46375dd7cdc9adfb75540.tar.bz2
PowerPC notoc linkage stubs
Use pcrel addressing instructions in linkage stubs. bfd/ * elf64-ppc.c: Comment on powerxx _notoc stub variants. (LI_R11_0, LIS_R11, ORI_R11_R11_0, SLDI_R11_R11_34): Define. (PADDI_R12_PC, PLD_R12_PC, D34, HA34): Define. (struct ppc_link_hash_table): Add powerxx_stubs. (ppc64_elf_check_relocs): Set powerxx_stubs. (build_powerxx_offset, size_powerxx_offset), (num_relocs_for_powerxx_offset), (emit_relocs_for_powerxx_offset): New functions. (plt_stub_size): Size powerxx stubs. (ppc_build_one_stub): Emit powerxx stubs. (ppc_size_one_stub): Size powerxx stubs. Omit .eh_frame for powerxx stubs. ld/ * testsuite/ld-powerpc/notoc2.d, * testsuite/ld-powerpc/notoc2.s: New test. * testsuite/ld-powerpc/powerpc.exp: Run it.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r--bfd/ChangeLog15
1 files changed, 15 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 0e21664..a21805f 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,20 @@
2019-05-24 Alan Modra <amodra@gmail.com>
+ * elf64-ppc.c: Comment on powerxx _notoc stub variants.
+ (LI_R11_0, LIS_R11, ORI_R11_R11_0, SLDI_R11_R11_34): Define.
+ (PADDI_R12_PC, PLD_R12_PC, D34, HA34): Define.
+ (struct ppc_link_hash_table): Add powerxx_stubs.
+ (ppc64_elf_check_relocs): Set powerxx_stubs.
+ (build_powerxx_offset, size_powerxx_offset),
+ (num_relocs_for_powerxx_offset),
+ (emit_relocs_for_powerxx_offset): New functions.
+ (plt_stub_size): Size powerxx stubs.
+ (ppc_build_one_stub): Emit powerxx stubs.
+ (ppc_size_one_stub): Size powerxx stubs. Omit .eh_frame for
+ powerxx stubs.
+
+2019-05-24 Alan Modra <amodra@gmail.com>
+
* elf64-ppc.c (ppc64_elf_check_relocs): Set has_gotrel for
R_PPC64_GOT_PCREL34.
(xlate_pcrel_opt): New function.