gdb/dwarf: pass compilation directory to line header
[binutils-gdb.git] / bfd / ChangeLog
index 77bec4440b31fa735daf9ed004136169d464ba00..afabbc0f56aa5964ff7947ceace4625c1b9b3c99 100644 (file)
@@ -1,3 +1,695 @@
+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.
+       * elf.c (elfcore_grok_aarch_mte, elfcore_write_aarch_mte): New
+       functions.
+       (elfcore_grok_note): Handle notes of type NT_ARM_TAGGED_ADDR_CTRL.
+       (elfcore_write_register_note): Handle MTE notes.
+
+2021-05-11  Alan Modra  <amodra@gmail.com>
+
+       PR 27844
+       * pdp11.c (aout_get_external_symbols): Clear first four bytes of
+       strings array, not just the first byte.
+       * aoutx.h (aout_get_external_symbols): Likewise.
+
+2021-05-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/27839
+       * simple.c (bfd_simple_get_relocated_section_contents): Remove
+       strayed fprintf.
+
+2021-05-10  Nick Clifton  <nickc@redhat.com>
+
+       PR 27839
+       * simple.c (simple_dummy_add_to_set): New function.
+       (simple_dummy_constructor): New function.
+       (simple_dummy_multiple_common): New function.
+       (bfd_simple_get_relocated_section_contents): Zero out the
+       callbacks structure, and then set the add_to_set, constructor and
+       multiple_common fields.
+
+2021-05-10  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * elf32-pru.c (elf_backend_can_gc_sections): Define as 1.
+
+2021-05-08  Mike Frysinger  <vapier@gentoo.org>
+
+       * doc/Makefile.am (html-local, bfd/index.html): New targets.
+       * doc/Makefile.in: Regenerate.
+
 2021-05-08  Mike Frysinger  <vapier@gentoo.org>
 
        * doc/Makefile.am (AM_MAKEINFOFLAGS): Define.
 2021-05-08  Mike Frysinger  <vapier@gentoo.org>
 
        * doc/Makefile.am (AM_MAKEINFOFLAGS): Define.
 
 For older changes see ChangeLog-2020
 \f
 
 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
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright