[MIPS] Add generation of PLT entries with compact jumps for MIPS R6
[external/binutils.git] / bfd / ChangeLog
index 7d22cc0..deca778 100644 (file)
@@ -1,3 +1,55 @@
+2019-05-21  Matthew Fortune  <matthew.fortune@mips.com>
+           Faraz Shahbazker  <fshahbazker@wavecomp.com>
+
+       * elfxx-mips.c (LA25_BC): New macro.
+       (mips_elf_link_hash_table)<compact_branches>: New field.
+       (STUB_JALRC): New macro.
+       (mipsr6_o32_exec_plt0_entry_compact): New array.
+       (mipsr6_n32_exec_plt0_entry_compact): Likewise.
+       (mipsr6_n64_exec_plt0_entry_compact): Likewise.
+       (mipsr6_exec_plt_entry_compact): Likewise.
+       (mips_elf_create_la25_stub): Use BC instead of J for stubs
+       when compact_branches is true.
+       (_bfd_mips_elf_finish_dynamic_symbol): Choose the compact
+       PLT for MIPSR6 with compact_branches.  Do not reorder the
+       compact branches PLT.  Switch the lazy stub for MIPSR6
+       with compact_branches to use JALRC.
+       (mips_finish_exec_plt): Choose the compact PLT0 for MIPSR6
+       when compact_branches is true.
+       (_bfd_mips_elf_compact_branches): New function.
+       * elfxx-mips.h (_bfd_mips_elf_compact_branches): New prototype.
+
+2019-05-21  Tamar Christina  <tamar.christina@arm.com>
+
+       PR ld/24373
+       * elfnn-aarch64.c (_bfd_aarch64_erratum_843419_branch_to_stub):
+       Fix print formatter.
+
+2019-05-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       PR 24460
+       * elf32-arm.c (get_value_helper): Remove.
+       (elf32_arm_final_link_relocate): Fix branch future relocations.
+
+2019-05-21  Tamar Christina  <tamar.christina@arm.com>
+
+       PR ld/24373
+       * bfd-in.h (enum erratum_84319_opts): New
+       (bfd_elf64_aarch64_set_options, bfd_elf32_aarch64_set_options): Change
+       int to enum erratum_84319_opts.
+       * bfd-in2.h: Regenerate.
+       * elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Change
+       fix_erratum_843419 to use new enum, remove fix_erratum_843419_adr.
+       (_bfd_aarch64_add_stub_entry_after): Conditionally create erratum stub.
+       (aarch64_size_one_stub): Conditionally size erratum 843419 stubs.
+       (_bfd_aarch64_resize_stubs): Amend comment.
+       (elfNN_aarch64_size_stubs): Don't generate stubs when no workaround
+       requested.
+       (bfd_elfNN_aarch64_set_options): Use new fix_erratum_843419 enum.
+       (_bfd_aarch64_erratum_843419_branch_to_stub): Implement selection of
+       erratum workaround.
+       (clear_erratum_843419_entry): Update erratum conditional.
+
 2019-05-21  Senthil Kumar Selvaraj  <senthilkumar.selvaraj@microchip.com>
 
        PR ld/24571