]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - bfd/ChangeLog
Add OpenBSD AArch64 Little Endian BFD support.
[thirdparty/binutils-gdb.git] / bfd / ChangeLog
index 0e4ccd8d0a0b20a704d742b361f5db3dfb2e9524..88643b8a036feb714d72b984cd9c7bf05ccc1513 100644 (file)
@@ -1,3 +1,672 @@
+2022-08-22  Frederic Cambus  <fred@statdns.com>
+
+       * config.bfd (aarch64-*-openbsd*): Add target.
+
+2022-08-03  Nick Clifton  <nickc@redhat.com>
+
+       PR 29389
+       * bfd.c (BFD_CLOSED_BY_CACHE): New bfd flag.
+       * cache.c (bfd_cache_delete): Set BFD_CLOSED_BY_DELETE on the
+       closed bfd.
+       (bfd_cache_lookup_worker): Clear BFD_CLOSED_BY_DELETE on the newly
+       reopened bfd.
+       * opncls.c (bfd_set_filename): Refuse to change the name of a bfd
+       that has been closed by bfd_cache_delete.  Mark changed bfds as
+       uncacheable.
+       * bfd-in2.h: Regenerate.
+
+2022-07-29  Nick Clifton  <nickc@redhat.com>
+
+       PR 29424
+       * dwarf2.c (read_attribute_value): Handle DW_FORM_rnglistx and
+       DW_FORM_loclistx.
+
+2022-07-26  Nick Clifton  <nickc@redhat.com>
+
+       * elfnn-loongarch.c (loongarch_elf_relocate_section): Fix
+       indentation.
+
+2022-07-08  Nick Clifton  <nickc@redhat.com>
+
+       * 2.39 branch created.
+
+2022-05-19  Yvan Roux  <yvan.roux@foss.st.com>
+
+       PR 25713
+       * bfdio.c (_bfd_real_fopen): Delete ccs string.
+
+2022-04-27  John Baldwin  <jhb@FreeBSD.org>
+
+       * elf.c (elfcore_grok_freebsd_note): Handle NT_ARM_TLS notes.
+
+2022-04-25  Nick Clifton  <nickc@redhat.com>
+
+       PR 29072
+       * elflink.c (bfd_elf_size_dynamic_sections): Display a note to the
+       user that the current ehaviour of creating an executable stack
+       because of a missing .note.GNU-stack section is deprecated and
+       will be changed in a future release.
+
+2022-04-20  Clément Chigot  <clement.chigot@atos.net>
+
+       * coff-rs6000.c (xcoff_reloc_type_noop): Add info argument.
+       (xcoff_reloc_type_fail): Likewise.
+       (xcoff_reloc_type_pos): Likewise.
+       (xcoff_reloc_type_neg): Likewise.
+       (xcoff_reloc_type_rel): Likewise.
+       (xcoff_reloc_type_toc): Likewise.
+       (xcoff_reloc_type_ba): Likewise.
+       (xcoff_reloc_type_crel): Likewise.
+       (xcoff_reloc_type_tls): Likewise.
+       (xcoff_reloc_type_br): Add stub handler.
+       (xcoff_ppc_relocate_section): Add info to
+       xcoff_calculate_relocation.
+       (xcoff_stub_indirect_call_code): New constant.
+       (xcoff_stub_shared_call_code): Likewise.
+       (bfd_xcoff_backend_data): Add stub code fields.
+       (bfd_pmac_xcoff_backend_data): Likewise.
+       * coff64-rs6000.c (xcoff64_reloc_type_br): Add stub handler.
+       (xcoff64_ppc_relocate_section): Add info to
+       xcoff64_calculate_relocation.
+       (xcoff64_stub_indirect_call_code): New constant.
+       (xcoff64_stub_shared_call_code): Likewise.
+       (bfd_xcoff_backend_data): Add stub code fields.
+       (bfd_xcoff_aix5_backend_data): Likewise.
+       * libxcoff.h (struct xcoff_backend_data_rec): Add stub fields.
+       (bfd_xcoff_stub_indirect_call_code): New define.
+       (bfd_xcoff_stub_indirect_call_size): New define.
+       (bfd_xcoff_stub_shared_call_code): New define.
+       (bfd_xcoff_stub_shared_call_size): New define.
+       (xcoff_reloc_function): Add info argument.
+       (enum xcoff_stub_type): New enum.
+       (struct xcoff_stub_hash_entry): New structure.
+       * xcofflink.c (struct xcoff_link_hash_table): Add stub hash
+       table and params fields.
+       (xcoff_stub_hash_entry): New define.
+       (xcoff_stub_hash_lookup): New define.
+       (stub_hash_newfunc): New function.
+       (_bfd_xcoff_bfd_link_hash_table_free): Free the new stub hash
+       table.
+       (_bfd_xcoff_bfd_link_hash_table_create): Create the new stub
+       hash table.
+       (xcoff_link_add_symbols): Save rawsize for XTY_SD.
+       (bfd_xcoff_link_init): New function.
+       (xcoff_stub_csect_name): New function.
+       (xcoff_stub_get_csect_in_range): New function.
+       (xcoff_stub_name): New function.
+       (bfd_xcoff_get_stub_entry): New function.
+       (bfd_xcoff_type_of_stub): New function.
+       (xcoff_add_stub): New function.
+       (xcoff_build_one_stub): New function.
+       (bfd_xcoff_size_stubs): New function.
+       (bfd_xcoff_build_stubs): New function.
+       (xcoff_stub_create_relocations): New function.
+       (xcoff_link_input_bfd): Adapt relocations to stub.
+       (xcoff_write_global_symbol): Adapt to new TOC entries generated
+       for stubs.
+       (_bfd_xcoff_bfd_final_link): Handle stub file.
+       * xcofflink.h (struct bfd_xcoff_link_params): New structure.
+
+2022-04-20  Clément Chigot  <clement.chigot@atos.net>
+
+       * coff-rs6000.c (_bfd_xcoff_put_ldsymbol_name): Write len in
+       ldinfo->strings instead of directly in the output_bfd.
+       * coff64-rs6000.c (_bfd_xcoff64_put_ldsymbol_name): Likewise.
+       * xcofflink.c (struct xcoff_link_hash_table): Remove ldrel_count
+       field. Add ldinfo field.
+       (xcoff_mark_symbol): Adjust to new ldinfo field.
+       (xcoff_mark): Likewise.
+       (bfd_xcoff_link_count_reloc): Likewise.
+       (xcoff_build_loader_section): Split into two functions: one that
+       build the loader section (this function) and one that only size
+       it...
+       (xcoff_size_loader_section): ... (this function).
+       (bfd_xcoff_size_dynamic_sections): Adapt to new ldinfo field.
+       Move the part where the dynamic sections are build to ...
+       (bfd_xcoff_build_dynamic_sections): ... this function.
+       * xcofflink.h: Add bfd_xcoff_build_dynamic_sections prototype.
+
+2022-04-13  Alexander von Gluck IV  <kallisti5@unixzen.com>
+
+       * config.bfd (x86-haiku): Add i386_pei_vec as a selectable format.
+
+2022-04-08  Nick Clifton  <nickc@redhat.com>
+
+       PR 29038
+       * coffgen.c (coff_find_nearest_line_with_names): Fix typo
+       retrieving saved bias.
+
+2022-04-07  Mark Harmstone  <mark@harmstone.com>
+
+       * coff-i386.c (in_reloc_p): Add R_SECTION.
+       (howto_table): Add R_SECTION.
+       (coff_pe_i386_relocation_section): Add support for R_SECTION.
+       (coff_i386_reloc_type_lookup): Add support for
+       BFD_RELOC_16_SECCIDX.
+       * coff-x86_64.c (in_reloc_p): Add R_SECTION.
+       (howto_table): Add R_SECTION.
+       (coff_pe_amd64_relocation_section): Add support for R_SECTION.
+       (coff_amd64_reloc_type_lookup): Add support for
+       BFD_RELOC_16_SECCIDX.
+       * reloc.c: Add BFD_RELOC_16_SECIDX.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+
+2022-04-01  John Baldwin  <jhb@FreeBSD.org>
+
+       * elf-bfd.h (elfcore_write_x86_segbases): New.
+       * elf.c (elfcore_grok_freebsd_note): Add pseudosections for
+       NT_FREEBSD_X86_SEGBASES register notes.
+       (elfcore_write_x86_segbases): New.
+       (elfcore_write_register_note): Write NT_FREEBSD_X86_SEGBASES
+       register notes.
+
+2022-04-01  John Baldwin  <jhb@FreeBSD.org>
+
+       * elf.c (elfcore_grok_freebsd_note): Remove checks for namesz.
+
+2022-03-22  Steiner H Gunderson  <steinar+sourceware@gunderson.no>
+
+       * dwarf2.c (_bfd_dwarf2_find_nearest_line): if a function name is
+       found, but no line number info, then return a result of 2.
+
+2022-03-21  Steiner H Gunderson  <steinar+sourceware@gunderson.no>
+
+       PR 28978
+       * dwarf2.c (scan_unit_for_symbols): When performing second pass,
+       check to see if the function or variable being processed is the
+       same as the previous one.
+
+2022-03-18  Viorel Preoteasa  <viorel.preoteasa@gmail.com>
+
+       PR 28924
+       * elf32-arm.c (THM_MAX_FWD_BRANCH_OFFSET): Fix definition.
+       (THM2_MAX_FWD_BRANCH_OFFSET): Likewise.
+
+2022-03-16  Simon Marchi  <simon.marchi@efficios.com>
+
+       * Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES):
+       Add cpu-amdgcn.c.
+       (BFD64_BACKENDS): Add elf64-amdgcn.lo.
+       (BFD64_BACKENDS_CFILES): Add elf64-amdgcn.c.
+       * Makefile.in: Re-generate.
+       * cpu-amdgcn.c: New.
+       * elf64-amdgcn.c: New.
+       * archures.c (bfd_architecture): Add bfd_arch_amdgcn and related
+       mach defines.
+       (bfd_amdgcn_arch): New.
+       (bfd_archures_list): Add bfd_amdgcn_arch.
+       * bfd-in2.h: Re-generate.
+       * config.bfd: Handle amdgcn* target.
+       * configure.ac: Handle amdgcn_elf64_le_vec.
+       * configure: Re-generate.
+       * elf-bfd.h (elf_target_id): Add AMDGCN_ELF_DATA.
+       * targets.c (amdgcn_elf64_le_vec): New.
+       (_bfd_target_vector): Add amdgcn_elf64_le_vec.
+
+2022-03-01  Torbjörn Svensson  <torbjorn.svensson@st.com>
+           Fred Eisele  <fredrick.eisele@gmail.com>
+
+       PR 25713
+       * bfdio.c (_bfd_real_fopen): Fix typo.
+
+2022-03-01  Nick Clifton  <nickc@redhat.com>
+
+       PR 28848
+       * elf32-arm.c (elf32_arm_merge_eabi_attributes): If the first
+       input bfd has a Tag_ABI_HardFP_use set to 3 but does not also have
+       TAG_FP_arch set then reset the TAG_ABI_HardFP_use.
+
+2022-02-28  Torbjörn Svensson  <torbjorn.svensson@st.com>
+           Fred Eisele  <fredrick.eisele@gmail.com>
+
+       PR 25713
+       * bfdio.c (_bfd_real_fopen): Fix handling of paths longer than 260
+       characters on Windows hosts.
+
+2022-02-28  Nick Clifton  <nickc@redhat.com>
+
+       PR 28886
+       * config.bfd: Update error message for obsolete configurations.
+
+2022-02-17  Nick Clifton  <nickc@redhat.com>
+
+       * po/sr.po: Updated Serbian translation.
+
+2022-02-16  Fangrui Song  <maskray@google.com>
+       Nick Clifton  <nickc@redhat.com>
+
+       PR ld/28841
+       * bfd-in2.h (struct bfd_section): Add type.
+       (discarded_section): Add field.
+       * elf.c (elf_fake_sections): Handle bfd_section::type.
+       * section.c (BFD_FAKE_SECTION): Add field.
+       * mri.c (mri_draw_tree): Update function call.
+
+2022-02-11  Michael Forney  <mforney@mforney.org>
+
+        * bfd.c (bfd_set_gp_value): Remove return with expression
+        in void function.
+
+2022-02-09  Nick Clifton  <nickc@redhat.com>
+
+       * config.bfd: Move pending obsolesence targets into the definitely
+       obsolete list.
+
+2022-02-02  Nick Clifton  <nickc@redhat.com>
+
+       PR 28834
+       * dwarf2.c (read_section): Change the heuristic that checks for
+       overlarge dwarf debug info sections.
+
+2022-02-02  Stafford Horne  <shorne@gmail.com>
+
+       PR 28735
+       * elf32-or1k.c (or1k_elf_got16_no_overflow_howto): Define.
+       (or1k_elf_relocate_section): Use new howto instead of trying to
+       mask out relocation bits.
+
+2022-01-24  Roland McGrath  <mcgrathr@google.com>
+
+       * doc/local.mk (%D%/bfdver.texi): Add mkdir command.
+
+2022-01-24  Nick Clifton  <nickc@redhat.com>
+
+       * po/fr.po: Updated French translation.
+       * po/ro.po: Updated Romanian translation.
+       * po/uk.po: Updated Ukranian translation.
+
+2022-01-22  Nick Clifton  <nickc@redhat.com>
+
+       * version.m4: Change to 2.38.50.
+       * configure: Regenerate.
+       * po/bfd.pot: Regenerate.
+
+2022-01-22  Nick Clifton  <nickc@redhat.com>
+
+       * 2.38 release branch created.
+
+2022-01-17  Nick Clifton  <nickc@redhat.com>
+
+       * Makefile.in: Regenerate.
+       * configure: Regenerate.
+       * doc/Makefile.in: Regenerate.
+       * po/bfd.pot: Regenerate.
+
+2021-12-15  Nikita Popov  <npv1310@gmail.com>
+
+       PR 28687
+       * dwarf1.c (parse_die): Fix undefined behaviour in range tests.
+
+2021-11-17  Nick Clifton  <nickc@redhat.com>
+
+       PR 28452
+       * elf.c (assign_file_positions_for_non_load_sections): Replace
+       assertion with a warning message.
+
+2021-10-19  Nick Clifton  <nickc@redhat.com>
+
+       * linker.c (_bfd_generic_link_add_one_symbol): Test for a NULL
+       name before checking to see if the symbol is __gnu_lto_slim.
+       * archive.c (_bfd_compute_and_write_armap): Likewise.
+
+2021-09-27  Nick Alcock  <nick.alcock@oracle.com>
+
+       * configure: Regenerate.
+
+2021-09-15  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * archures.c (bfd_arch_list): Use 'char *' instead of 'char **'
+       when calculating space for a string list.
+
+2021-09-014  Cupertino Miranda  <cmiranda@synopsys.com>
+           Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * arc-got.h (arc_static_sym_data): New structure.
+       (get_static_sym_data): New function.
+       (relocate_fix_got_relocs_for_got_info): Move the computation fo
+       symbol value and section to above introduced function, and use
+       this new function.
+
+2021-09-07  Luis Machado  <luis.machado@linaro.org>
+
+       Revert: [AArch64] MTE corefile support
+
+       2021-05-21  Luis Machado  <luis.machado@linaro.org>
+
+       * elf.c (elfcore_make_memtag_note_section): New function.
+       (elfcore_grok_note): Handle NT_MEMTAG note types.
+
+2021-09-07  Nick Clifton  <nickc@redhat.com>
+
+       PR 28305
+       * elf32-xtensa.c (elf_xtensa_do_reloc): Add check for put of range
+       reloc.
+
+       PR 28303
+       * elfxx-riscv.c (riscv_elf_add_sub_reloc): Add check for out of
+       range relocs.
+
+2021-08-10  Nick Clifton  <nickc@redhat.com>
+
+       * po/sr.po: Updated Serbian translation.
+
+2021-07-18  Nick Clifton  <nickc@redhat.com>
+
+       * config.bfd: Move pending obsoletion targets to obsolete list.
+
+2021-07-16  Giulio Benetti  <giulio.benetti@benettiengineering.com>
+
+       * elf32-or1k.c (or1k_elf_relocate_section): Use a separate entry
+       in switch case R_OR1K_INSN_REL_26 where we need to check for
+       !SYMBOL_CALLS_LOCAL() instead of !SYMBOL_REFERENCES_LOCAL().
+
+2021-07-14  Clément Chigot  <clement.chigot@atos.net>
+
+       * libxcoff.h (struct xcoff_dwsect_name): Add DWARF name.
+       * coff-rs6000.c (xcoff_dwsect_names): Update.
+       * coffcode.h (sec_to_styp_flags): Likewise.
+       (coff_new_section_hook): Likewise.
+
+2021-07-10  Alan Modra  <amodra@gmail.com>
+
+       * dwarf2.c (read_address): Remove accidental commit.
+       (read_ranges): Compare offset rather than pointers.
+
+2021-07-08  Nick Clifton  <nickc@redhat.com>
+
+       * po/pt.po: Updated Portuguese translation.
+
+2021-07-07  Nick Clifton  <nickc@redhat.com>
+
+       * elfcode.h (elf_swap_symbol_out): Revert accidental change that
+       removed an abort if the shndx pointer is NULL.
+
+2021-07-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * sysdep.h [!ENABLE_NLS]: Prevent inclusion of <libintl.h> on
+       Solaris.
+
+2021-07-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac: Check for strnlen declaration.
+       * configure, config.in: Regenerate.
+
+2021-07-07  Nick Clifton  <nickc@redhat.com>
+
+       PR 28051
+       * coff-rs6000.c (xcoff_reloc_type_tls): Reformat error messages in
+       order to fix problems when translating.
+       * cofflink.c (_bfd_coff_write_global_sym): Likewise.
+       * elfnn-aarch64.c (_bfd_aarch64_erratum_843419_branch_to_stub):
+       Likewise.
+       * po/bfd.pot: Regenerate.
+
+2021-07-06  Michael Matz  <matz@suse.de>
+
+       PR ld/28021
+       * elfnn-riscv.c (riscv_relax_delete_bytes): Check for any
+       versioning.
+
+2021-07-06  Alan Modra  <amodra@gmail.com>
+
+       PR 28055
+       * elf64-bpf.c (bpf_elf_generic_reloc): Add missing ATTRIBUTE_UNUSED.
+
+2021-07-05  Alan Modra  <amodra@gmail.com>
+
+       PR 28055
+       * elf64-bpf.c (bpf_elf_generic_reloc): Use correct bfd for bfd_put
+       and bfd_put_32 calls.  Correct section limit checks.
+
+2021-07-03  Nick Clifton  <nickc@redhat.com>
+
+       * version.m4: Update version number.
+       * configure: Regenerate.
+       * po/opcodes.pot: Regenerate.
+
+2021-07-03  Nick Clifton  <nickc@redhat.com>
+
+       * 2.37 release branch created.
+
+2021-07-02  Nick Clifton  <nickc@redhat.com>
+
+       PR 28046
+       * dwarf2.c (read_ranges): Check that range_ptr does not exceed
+       range_end.
+
+2021-06-30  YunQiang Su  <yunqiang.su@cipunited.com>
+
+       PR mips/28009
+       * bfd/elfxx-mips.c (_bfd_mips_elf_section_from_shdr,
+       _bfd_mips_elf_fake_sections): Mark LTO debug info as
+       SHT_MIPS_DWARF.
+
+2021-06-29  Nick Clifton  <nickc@redhat.com>
+
+       * config.bfd (obsolete configurations): Add netbsdpe.
+
+2021-06-22  Nelson Chu  <nelson.chu@sifive.com>
+
+       * elfnn-riscv.c (riscv_pcrel_hi_reloc): Added field to store
+       the original relocation type, in case the type is converted to
+       R_RISCV_HI20.
+       (riscv_pcrel_lo_reloc): Removed unused name field.
+       (riscv_pcrel_relocs): Added comments.
+       (riscv_zero_pcrel_hi_reloc): Removed unused input_bfd.
+       (riscv_record_pcrel_hi_reloc): Updated.
+       (riscv_record_pcrel_lo_reloc): Likewise.
+       (riscv_resolve_pcrel_lo_relocs): Likewise.  Check the original
+       type of auipc, to make sure the %pcrel_lo without any addends.
+       Otherwise, report dangerous relocation error.
+       (riscv_elf_relocate_section): Updated above functions are changed.
+       For R_RISCV_GOT_HI20, report dangerous relocation error when addend
+       isn't zero.
+
+2021-06-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/27998
+       * elfxx-x86.c (elf_x86_allocate_dynrelocs): Count PLT for GOTOFF
+       relocation against IFUNC symbols.
+       (_bfd_x86_elf_adjust_dynamic_symbol): Likewise.
+
+2021-06-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elflink.c (bfd_elf_final_link): Correct DT_TEXTREL warning in
+       PDE.
+
+2021-06-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf-properties.c (_bfd_elf_parse_gnu_properties): Handle
+       GNU_PROPERTY_UINT32_AND_LO, GNU_PROPERTY_UINT32_AND_HI,
+       GNU_PROPERTY_UINT32_OR_LO and GNU_PROPERTY_UINT32_OR_HI.
+       (elf_merge_gnu_properties): Likewise.
+
+2021-06-11  Alan Modra  <amodra@gmail.com>
+
+       PR 27952
+       * elf-bfd.h (struct elf_obj_tdata): Add is_pie.
+       * elflink.c (elf_link_add_object_symbols): Set is_pie.
+
+2021-06-09  Nick Clifton  <nickc@redhat.com>
+
+       PR 27666
+       * config.bfd: Do not add the sparc_elf32_vec or sparc_elf64_vec
+       vectors to Sparc Solaris2 targets.
+
+2021-06-08  Michael Matz  <matz@suse.de>
+
+       * elf.c (bfd_section_from_shdr): Set has_secondary_relocs flag.
+       (_bfd_elf_slurp_secondary_reloc_section): Use it for early-out.
+
+2021-06-07  Jan Beulich  <jbeulich@suse.com>
+
+       * dwarf2.c (read_ranges, read_rnglists): Add u suffix to constant.
+
+2021-06-02  Alan Modra  <amodra@gmail.com>
+
+       * elf-attrs.c (_bfd_elf_parse_attributes): Break out of loop if
+       subsection length is too small to cover tag and length field.
+
+2021-05-31  Nelson Chu  <nelson.chu@sifive.com>
+           Lifang Xia  <lifang_xia@c-sky.com>
+
+       PR 27566
+       * elfnn-riscv.c (struct riscv_elf_link_hash_table): New integer pointer
+       to monitor the data segment phase.
+       (bfd_elfNN_riscv_set_data_segment_info): New function called by
+       after_allocation, to set the data_segment_phase from expld.dataseg.
+       (_bfd_riscv_relax_section): Don't relax when data_segment_phase is
+       exp_seg_relro_adjust (0x4).
+       * elfxx-riscv.h (bfd_elf32_riscv_set_data_segment_info): New extern.
+       (bfd_elf64_riscv_set_data_segment_info): Likewise
+
+2021-05-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/27905
+       * elf32-i386.c: Don't include "libiberty.h".
+       (elf_howto_table): Revert commits a7664973b24 and 50c95a739c9.
+       (elf_i386_rtype_to_howto): Revert commit 50c95a739c9.
+       (elf_i386_info_to_howto_rel): Likewise.
+       (elf_i386_tls_transition): Likewise.
+       (elf_i386_relocate_section): Likewise.
+       * elf64-x86-64.c (x86_64_elf_howto_table): Revert commits
+       a7664973b24 and 50c95a739c9.
+       (elf_x86_64_rtype_to_howto): Revert commit 50c95a739c9.
+       * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Likewise.
+       * elfxx-x86.h (elf_x86_obj_tdata): Likewise.
+       (elf_x86_has_code16): Likewise.
+
+2021-05-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/27905
+       * elf32-i386.c: Include "libiberty.h".
+       (elf_howto_table): Add 16-bit R_386_PC16 entry.
+       (elf_i386_rtype_to_howto): Add a BFD argument.  Use 16-bit
+       R_386_PC16 if input has 16-bit mode instructions.
+       (elf_i386_info_to_howto_rel): Update elf_i386_rtype_to_howto
+       call.
+       (elf_i386_tls_transition): Likewise.
+       (elf_i386_relocate_section): Likewise.
+       * elf64-x86-64.c (x86_64_elf_howto_table): Add 16-bit
+       R_X86_64_PC16 entry.
+       (elf_x86_64_rtype_to_howto): Use 16-bit R_X86_64_PC16 if input
+       has 16-bit mode instructions.
+       * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Set
+       elf_x86_has_code16 if relocatable input is marked with
+       GNU_PROPERTY_X86_FEATURE_2_CODE16.
+       * elfxx-x86.h (elf_x86_obj_tdata): Add has_code16.
+       (elf_x86_has_code16): New.
+
+2021-05-26  Nelson Chu  <nelson.chu@sifive.com>
+
+       * elfxx-riscv.h (check_unknown_prefixed_ext): New bool.
+       * elfxx-riscv.c (riscv_parse_prefixed_ext): Do not check the
+       prefixed extension name if check_unknown_prefixed_ext is false.
+       * elfnn-riscv.c (riscv_merge_arch_attr_info): Set
+       check_unknown_prefixed_ext to false for linker.
+
+2021-05-25  Nick Clifton  <nickc@redhat.com>
+
+       * elf32-arn.c (struct elf_arm_obj_tdata): Add num_entries field.
+       (elf32_arm_num_entries): New macro.
+       (elf32_arm_allocate_local_sym_info): Initialise the new field.
+       Allocate arrays individually so that buffer overruns can be
+       detected by memory checkers.
+       (elf32_arm_create_local_iplt): Check num_entries.
+       (elf32_arm_get_plt_info): Likewise.
+       (elf32_arm_final_link_relocate): Likewise.
+       (elf32_arm_check_relocs): Likewise.
+       (elf32_arm_size_dynamic_sections): Likewise.
+       (elf32_arm_output_arch_local_syms): Likewise.
+
+2021-05-25  Nick Clifton  <nickc@redhat.com>
+
+       * elf32-arm.c: Fix formatting.
+
+2021-05-25  Alan Modra  <amodra@gmail.com>
+
+       * elf-attrs.c (elf_attr_strdup): New function.
+       (_bfd_elf_attr_strdup): Use it here.
+       (elf_add_obj_attr_string): New function, extracted from..
+       (bfd_elf_add_obj_attr_string): ..here.
+       (elf_add_obj_attr_int_string): New function, extracted from..
+       (bfd_elf_add_obj_attr_int_string): ..here.
+       (_bfd_elf_parse_attributes): Don't allocate an extra byte for a
+       string terminator.  Instead ensure parsing doesn't go past
+       end of sub-section.  Use size_t variables for lengths.
+
+2021-05-22  Alan Modra  <amodra@gmail.com>
+
+       * libbfd.c (_bfd_safe_read_leb128): Remove length_return parameter.
+       Replace data pointer with pointer to pointer.  Increment pointer
+       over bytes read.
+       * libbfd-in.h (_bfd_safe_read_leb128): Update prototype.
+       * elf-attrs.c (_bfd_elf_parse_attributes): Adjust to suit.  Be
+       careful not to increment data pointer past end.  Remove now
+       redundant pr17512 check.
+       * wasm-module.c (READ_LEB128): Adjust to suit changes to
+       _bfd_safe_read_leb128.
+       * dwarf2.c (read_n_bytes): New inline function, old one renamed to..
+       (read_blk): ..this.  Allocate and return block.  Increment bfd_byte**
+       arg.
+       (read_3_bytes): New function.
+       (read_1_byte, read_1_signed_byte, read_2_bytes, read_4_bytes),
+       (read_8_bytes, read_string, read_indirect_string),
+       (read_indirect_line_string, read_alt_indirect_string): Take a
+       byte_byte** arg which is incremented over bytes read.  Remove any
+       bytes_read return.  Rewrite limit checks to compare lengths
+       rather than pointers.
+       (read_abbrevs, read_attribute_value, read_formatted_entries),
+       (decode_line_info, find_abstract_instance, read_ranges),
+       (read_rnglists, scan_unit_for_symbols, parse_comp_unit),
+       (stash_comp_unit): Adjust to suit.  Rewrite limit checks to
+       compare lengths rather than pointers.
+       * libbfd.h: Regenerate.
+
+2021-05-21  Luis Machado  <luis.machado@linaro.org>
+
+       * elf.c (elfcore_make_memtag_note_section): New function.
+       (elfcore_grok_note): Handle NT_MEMTAG note types.
+
+2021-05-20  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * section.c (bfd_get_section_by_name): Return NULL if name is
+       NULL.
+       (bfd_get_section_by_name_if): Likewise.
+       * dwarf2.c (read_section): Remove unneeded NULL check.
+       (find_debug_info): Likewise.
+
+2021-05-19  Nick Clifton  <nickc@redhat.com>
+
+       * plugin.c (bfd_plugin_open_input): Inform the user if the limit
+       on the number of open files is reached.  If possible, try to
+       increase this limit before failing.
+
+2021-05-14  Nelson Chu  <nelson.chu@sifive.com>
+
+       * elfnn-riscv.c (riscv_resolve_pcrel_lo_relocs): Check the values
+       of %pcrel_hi, before and after adding the addend.  Make sure the
+       value won't be changed, otherwise, report dangerous error.
+
+2021-05-13  Nelson Chu  <nelson.chu@sifive.com>
+
+       * elfxx-riscv.c (check_implicit_always): The check_func, always add
+       the implicit subset without checking.
+       (check_implicit_for_i): The check_func for i, only add zicsr and
+       zifencei when the version of i less than 2.1.
+       (struct riscv_implicit_subset): Record the subsets and their
+       corresponding implicit subsets.
+       (riscv_implicit_subsets): Table records all implicit informations.
+       (riscv_parse_add_implicit_subsets): Updated and add implicit subsets
+       according to riscv_implicit_subsets.  Remove the redundant codes.
+
+2021-05-13  Alan Modra  <amodra@gmail.com>
+
+       PR 27858
+       * elf32-sh.c (sh_elf_info_to_howto): Correct check for last valid
+       reloc howto.
+
 2021-05-12  Luis Machado  <luis.machado@linaro.org>
 
        * elf-bfd.h (elfcore_write_aarch_mte): New prototype.
 
 For older changes see ChangeLog-2020
 \f
-Copyright (C) 2021 Free Software Foundation, Inc.
+Copyright (C) 2021-2022 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright