[MIPS] Add generation of PLT entries with compact jumps for MIPS R6
[external/binutils.git] / bfd / ChangeLog
index 59bb64d..deca778 100644 (file)
@@ -1,3 +1,207 @@
+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
+       * bfd/elf32-avr.c (elf32_avr_relax_section): Adjust range check
+       when computing distance_short_enough.
+
+2019-05-21  Senthil Kumar Selvaraj  <senthilkumar.selvaraj@microchip.com>
+
+       PR ld/24564
+       * bfd/elf32-avr.c (avr_relative_distance_considering_wrap_around):
+       Wrap around even if distance equals avr_pc_wrap_around.
+
+2019-05-20  Nick Clifton  <nickc@redhat.com>
+
+       * po/fr.po: Updated French translation.
+
+2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add case for Tag_MVE_arch.
+
+2019-05-16  Alan Modra  <amodra@gmail.com>
+
+       * elf32-arm.c (elf32_arm_write_section): Revert last change.
+
+2019-05-15  Alan Modra  <amodra@gmail.com>
+
+       * elf32-arm.c (elf32_arm_write_section): Don't leave
+       error case of STM32L4XX_ERRATUM_BRANCH_TO_VENEER with
+       unitialised section contents.
+
+2019-05-14  Jamey Hicks  <jamey.hicks@gmail.com>
+
+       PR 19921
+       * verilog.c: (VerilogDataWidth): New variable.
+       (verilog_write_record): Emit bytes in VerilogDataWidth bundles.
+
+2019-05-08  Nick Clifton  <nickc@redhat.com>
+
+       PR 24523
+       * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Return TRUE
+       rather than FALSE if encountering a non-ELF file.
+
+2019-05-06  Alan Modra  <amodra@gmail.com>
+
+       * elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error.
+
+2019-05-06  Alan Modra  <amodra@gmail.com>
+
+       * reloc.c (BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA),
+       (BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA):
+       Sort before BFD_RELOC_PPC64_DTPREL16_HIGHESTA entry.
+       * libbfd.h: Regenerate.
+       * bfd-in2.h: Regenerate.
+
+2019-05-04  Alan Modra  <amodra@gmail.com>
+
+       PR 24511
+       * syms.c (coff_section_type): Only allow '.', '$' and numeric
+       following the standard section names.
+       (bfd_decode_symclass): Prioritize section flag tests in
+       decode_section_type before name tests in coff_section_type.
+       * plugin.c (bfd_plugin_canonicalize_symtab): Init fake_section
+       and fake_common_section using BFD_FAKE_SECTION.  Use "fake" as
+       their names and choose standard .text section flags for
+       fake_section.
+
+2019-05-02  Nick Clifton  <nickc@redhat.com>
+
+       PR 24493
+       * coffcode.h (styp_to_sec_flags): Treat .gnu.debuglink and
+       .gnu.debugaltlink sections as debugging sections.
+
+2019-04-30  Alan Modra  <amodra@gmail.com>
+
+       * 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.
+
+2019-04-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/24486
+       * elflink.c (elf_link_output_extsym): Don't complain undefined
+       weak dynamic reference.
+
+2019-04-25  Sudakshina Das  <sudi.das@arm.com>
+
+       * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): Remove.
+       (PLT_BTI_TLSDESC_ENTRY_SIZE): Remove.
+       (PLT_PAC_ENTRY_SIZE, PLT_BTI_PAC_ENTRY_SIZE): Remove.
+       (PLT_BTI_SMALL_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): Update.
+       (elfNN_aarch64_small_plt0_pac_entry): Remove.
+       (elfNN_aarch64_small_plt0_bti_pac_entry): Remove.
+       (elfNN_aarch64_small_plt0_bti_entry): Update.
+       (elfNN_aarch64_small_plt_bti_entry): Update.
+       (elfNN_aarch64_small_plt_pac_entry): Update.
+       (elfNN_aarch64_tlsdesc_small_plt_bti_entry): Update.
+       (setup_plt_values): Setup new entries.
+       (elfNN_aarch64_finish_dynamic_sections): Remove size change.
+       (elfNN_aarch64_plt_sym_val): Likewise.
+
+2019-04-22  Jim Wilson  <jimw@sifive.com>
+
+       * elfnn-riscv.c (PRSTATUS_SIZE) [ARCH_SIZE==32]: Change from 0 to 204.
+
+2019-04-19  Alan Modra  <amodra@gmail.com>
+
+       * elf32-s12z.c (elf_backend_can_gc_sections): Don't define
+
+2019-04-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_need_pic): Suggest -fPIE when not
+       building shared object.
+       * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Likewise.
+
+2019-04-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/24458
+       * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): Also check x86
+       linker_def.
+
+2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * reloc.c (BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM): New internal
+       relocation.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Likewise.
+
+2019-04-15  Sudakshina Das  <sudi.das@arm.com>
+
+       * reloc.c (BFD_RELOC_ARM_THUMB_LOOP12): New.
+       * bfd-in2.h: Regenerated.
+       * libbfd.h: Regenerated.
+
+2019-04-15  Sudakshina Das  <sudi.das@arm.com>
+
+       * reloc.c (BFD_RELOC_THUMB_PCREL_BFCSEL): New relocation.
+       * bfd-in2.h: Regenerated.
+       * libbfd.h: Likewise.
+
+2019-04-15  Sudakshina Das  <sudi.das@arm.com>
+
+       * reloc.c (BFD_RELOC_ARM_THUMB_BF13): New.
+       * bfd-in2.h: Regenerated.
+       * libbfd.h: Regenerated.
+       * elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF13.
+       (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF13
+       and R_ARM_THM_BF12 together.
+       (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF13.
+
 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
 
        * reloc.c (BFD_RELOC_ARM_THUMB_BF19): New