+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.
+ * doc/Makefile.in: Regenerate.
+
+2021-05-07 Clément Chigot <clement.chigot@atos.net>
+
+ * coff-rs6000.c (xcoff_dwsect_names): Add new DWARF
+ sections.
+ * coffgen.c (coff_pointerize_aux): Handle C_DWARF.
+ (coff_print_symbol): Likewise.
+ * libxcoff.h (XCOFF_DWSECT_NBR_NAMES): Update.
+
+2021-05-07 Jan Beulich <jbeulich@suse.com>
+
+ * elf64-x86-64.c (x86_64_elf_howto_table): Set src_mask fields
+ to zero.
+
+2021-05-07 Alan Modra <amodra@gmail.com>
+
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+2021-05-06 Stafford Horne <shorne@gmail.com>
+
+ PR 27746
+ * elf32-or1k.c (PLT_ENTRY_SIZE_LARGE, PLT_MAX_INSN_COUNT,
+ OR1K_ADD, OR1K_ORI): New macros to help with plt creation.
+ (elf_or1k_link_hash_table): New field plt_count.
+ (elf_or1k_link_hash_entry): New field plt_index.
+ (elf_or1k_plt_entry_size): New function.
+ (or1k_write_plt_entry): Update to support variable size PLTs.
+ (or1k_elf_finish_dynamic_sections): Use new or1k_write_plt_entry
+ API.
+ (or1k_elf_finish_dynamic_symbol): Update to write large PLTs
+ when needed.
+ (allocate_dynrelocs): Use elf_or1k_plt_entry_size to account for
+ PLT size.
+
+2021-05-06 Stafford Horne <shorne@gmail.com>
+
+ PR 21464
+ * elf32-or1k.c (or1k_elf_relocate_section): Relax R_OR1K_GOT16
+ overflow check if we have R_OR1K_GOT_AHI16 followed by
+ R_OR1K_GOT16.
+
+2021-05-06 Stafford Horne <shorne@gmail.com>
+
+ PR 21464
+ * bfd-in2.h: Add BFD_RELOC_OR1K_GOT_AHI16 relocation.
+ * elf32-or1k.c (or1k_elf_howto_table, or1k_reloc_map): Likewise.
+ (or1k_final_link_relocate, or1k_elf_relocate_section,
+ or1k_elf_check_relocs): Likewise.
+ * libbfd.h (bfd_reloc_code_real_names): Likewise.
+ * reloc.c: Likewise.
+
+2021-05-06 Stafford Horne <shorne@gmail.com>
+
+ PR 27624
+ * elf32-or1k.c (or1k_elf_adjust_dynamic_symbol): Change
+ condition used to cleanup plt entries to cleanup forced local
+ entries.
+
+2021-05-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/27825
+ * elflink.c (elf_link_output_symstrtab): Always append ".COUNT"
+ to local symbols.
+
+2021-05-05 Alan Modra <amodra@gmail.com>
+
+ * vms-lib.c (vms_traverse_index): Account for vms_kbn size when
+ sanity checking keylen.
+
+2021-05-04 Nick Clifton <nickc@redhat.com>
+
+ * libbfd.c (bfd_malloc): Provide some documenation. Treat a size
+ of 0 as 1.
+ (bfd_realloc): Likewise.
+ (bfd_zmalloc): Likewise.
+ (bfd_realloc_or_free): Provide some documentation. Treat a size
+ of 0 as a request to free.
+ * libbfd-in.h (bfd_realloc): Remove prototype.
+ (bfd_realloc_or_free): Remove prototype.
+ (bfd_zmalloc): Remove prototype.
+ * libbfd.h: Regenerate.
+
+2021-05-03 Jan Beulich <jbeulich@suse.com>
+
+ * elf32-i386.c (elf_howto_table): Switch all 32-bit relocs to
+ complain_overflow_dont.
+ * elf64-x86-64.c (x86_64_elf_howto_table): Switch all 64-bit
+ relocs to complain_overflow_dont.
+
+2021-05-03 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (allocate_dynrelocs): Keep dyn_relocs for undefweak
+ symbols when -z dynamic-undefined-weak or when there are no
+ dynamic relocs in read-only sections and -z nodynamic-undefined-weak
+ is not given.
+ * elf64-ppc.c (allocate_dynrelocs): Likewise.
+
+2021-05-03 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (allocate_dynrelocs): Call ensure_undef_dynamic for
+ weak undefined symols that only appear on PLT relocs.
+ * elf64-ppc.c (allocate_dynrelocs): Likewise.
+
+2021-05-03 Alan Modra <amodra@gmail.com>
+
+ PR 27755
+ * elf32-ppc.c (ppc_elf_inline_plt): Do increment rel in loop.
+
+2021-05-03 Alan Modra <amodra@gmail.com>
+
+ * elf32-csky.c (is_mapping_symbol_name): New function.
+ (csky_elf_is_target_special_symbol): Likewise.
+ (csky_elf_maybe_function_sym): Likewise.
+ (bfd_elf32_bfd_is_target_special_symbol): Define.
+ (elf_backend_maybe_function_sym): Define.
+
+2021-04-30 Nick Clifton <nickc@redhat.com>
+
+ PR 27801
+ * mach-o.c (bfd_mach_o_core_fetch_environment): Use bfd_get_32 to
+ read 32-bit value.
+
+2021-04-30 Nick Clifton <nickc@redhat.com>
+
+ PR 27799
+ * elf32-xtensa.c (elf_xtensa_grok_prstatus): Check for core notes
+ that are too small.
+
+2021-04-30 Nick Clifton <nickc@redhat.com>
+
+ PR 27797
+ * libbfd.c (bfd_realloc_or_free): Do not free a pointer than has
+ been realloc'ed to size 0.
+
+2021-04-30 Nick Clifton <nickc@redhat.com>
+
+ PR 27795
+ * coff-rs6000.c (_bfd_xcoff_read_ar_hdr): Check for invalid name
+ lengths.
+
+2021-04-29 Nick Clifton <nickc@redhat.com>
+
+ PR 27793
+ * som.c (som_slurp_symbol_table): Assign symbols without any scope
+ to the undefined section.
+ (som_decode_symclass): Check for a missing symbol section.
+ * syms.c (bfd_decode_symclass): Likewise.
+
+2021-04-29 Nick Clifton <nickc@redhat.com>
+
+ PR 27792
+ * som.c (som_slurp_string_table): Place a terminating NUL byte at
+ the end of the table.
+ (som_slurp_symbol_table): Check for an over-large offset into the
+ string string table.
+
+2021-04-28 Nick Clifton <nickc@redhat.com>
+
+ * elf.c (_bfd_elf_maybe_function_sym): Do not accept annobin
+ symbols as potential function symbols.
+ * elfnn-aarch64.c (elfNN_aarch64_maybe_function_sym): Likewise.
+ * elf64-ppc.c (ppc64_elf_maybe_function_sym): Likewise.
+ * elf32-arm.c (elf32_arm_maybe_function_sym): Likewise.
+
+2021-04-26 Mike Frysinger <vapier@gentoo.org>
+
+ * elf-bfd.h: Include stdlib.h.
+
+2021-04-26 Jan Beulich <jbeulich@suse.com>
+
+ * elf32-i386.c (elf_howto_table): Switch R_386_PC16 to
+ complain_overflow_signed.
+ * elf64-x86-64.c (x86_64_elf_howto_table): Switch R_X86_64_PC16
+ to complain_overflow_signed.
+
+2021-04-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * elf.c (special_sections_p): Add .persistent.bss.
+
+2021-04-23 Jan Beulich <jbeulich@suse.com>
+
+ * elf32-i386.c (elf_howto_table): R_386_TLS_DESC_CALL has zero
+ size field.
+ * elf64-x86-64.c (x86_64_elf_howto_table): R_X86_64_TLSDESC_CALL
+ has zero size field.
+
+2021-04-22 Clément Chigot <clement.chigot@atos.net>
+
+ * hash.c (struct bfd_strtab_hash): Remove xcoff field.
+ Add length_field_size field.
+ (_bfd_stringtab_init): Change prototype.
+ Adapt to new length_field_size.
+ (_bfd_xcoff_stringtab_init): Likewise.
+ (_bfd_stringtab_add): Likewise.
+ (_bfd_stringtab_emit): Likewise.
+ * libbfd-in.h (_bfd_xcoff_stringtab_init):
+ Change prototype.
+ * libbfd.h: Regenerate.
+ * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create):
+ Call _bfd_xcoff_stringtab_init with isxcoff64 value.
+
+2021-04-22 Clément Chigot <clement.chigot@atos.net>
+
+ * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Add errors for
+ unsupported storage class or auxialiry entries.
+ Improve and adapt to new aux structures.
+ Add C_DWARF support.
+ (_bfd_xcoff_swap_aux_out): Likewise.
+ * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Likewise.
+ (_bfd_xcoff64_swap_aux_out): Likewise.
+
+2021-04-21 Eli Zaretskii <eliz@gnu.org>
+
+ PR 27760
+ * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Add display
+ of IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP,
+ IMAGE_FILE_NET_RUN_FROM_SWAP and IMAGE_FILE_UP_SYSTEM_ONLY flags.
+ Decode the contents of the DllCharacteristics field.
+
+2021-04-21 Nick Clifton <nickc@redhat.com>
+
+ PR 27759
+ * srec.c (srec_read_section): Replace assertions with error
+ returns.
+
+2021-04-20 Clément Chigot <clement.chigot@atos.net>
+
+ PR binutils/21700
+ * reloc.c (BFD_RELOC_PPC_NEG): New relocation.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Add
+ BFD_RELOC_PPC_NEG handler.
+ (xcoff_reloc_type_neg): Correctly substract addend.
+ * coff64-rs6000.c (xcoff64_howto_table): Add R_NEG_32
+ howto.
+ (xcoff64_rtype2howto): Add handler for R_NEG_32.
+ (xcoff64_reloc_type_lookup): Add BFD_RELOC_PPC_NEG handler.
+ * xcofflink.c (xcoff_need_ldrel_p): Check output section
+ for R_POS-like relocations. New argument added.
+ (xcoff_mark): Adapt to new xcoff_need_ldrel_p argument.
+ (xcoff_link_input_bfd): Likewise.
+
+2021-04-16 Alan Modra <amodra@gmail.com>
+
+ PR 27567
+ * coffcode.h (styp_to_sec_flags): Use an unsigned long styp_flags.
+ (coff_write_object_contents): Pass bfd to COFF_ENCODE_ALIGNMENT,
+ ignore alignment checks when return is false. Formatting.
+
+2021-04-15 Nelson Chu <nelson.chu@sifive.com>
+
+ PR27584
+ * elfnn-riscv.c (riscv_elf_is_target_special_symbol): Added to
+ omit local and empty symbols since they usually generated to
+ mark the auipc instructions.
+
+2021-04-15 Lifang Xia<lifang_xia@c-sky.com>
+
+ * elf32-csky.c (csky_elf_howto_table)
+ <R_CKCORE_PCREL_IMM16BY2>: Set special_function to
+ bfd_elf_generic_reloc.
+ <R_CKCORE_PCREL_IMM16BY4>: Likewise.
+ <R_CKCORE_PCREL_IMM10BY4>: Likewise.
+ <R_CKCORE_PCREL_IMM18BY2>: Likewise.
+ <R_CKCORE_PCREL_FLRW_IMM8BY4>: Likewise.
+
+2021-04-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/27708
+ * elf.c (assign_file_positions_for_non_load_sections): Set
+ p_memsz to p_filesz for the loadable PT_NOTE segment.
+
+2021-04-14 Frederic Cambus <fred@statdns.com>
+
+ * elf.c (elfcore_grok_netbsd_note): Remove unneeded #ifdef
+ checks for NT_NETBSDCORE_AUXV and NT_NETBSDCORE_LWPSTATUS.
+
+2021-04-14 Alan Modra <amodra@gmail.com>
+
+ PR 27631
+ * elf32-metag.c (elf_metag_relocate_section): Don't use &hh->elf
+ when hh might be NULL, test for NULL first.
+
+2021-04-14 Alan Modra <amodra@gmail.com>
+
+ PR 27630
+ * elf32-arm.c (elf32_arm_size_stubs): Don't use &hash->root when
+ hash might be NULL, cast instead.
+
+2021-04-13 Clément Chigot <clement.chigot@atos.net>
+
+ * xcofflink.c (xcoff_link_check_ar_symbols): Update esym earlier.
+
+2021-04-13 Nelson Chu <nelson.chu@sifive.com>
+
+ * elfnn-riscv.c (riscv_version_mismatch): Do not report the warning
+ when the version of input or output is RISCV_UNKNOWN_VERSION, since
+ the extension is added implicitly.
+ * elfxx-riscv.c: Updated the obsolete comments.
+ (RISCV_UNKNOWN_VERSION): Moved to elfxx-riscv.h.
+ * elfxx-riscv.h (RISCV_UNKNOWN_VERSION): Added.
+
+2021-04-12 Alan Modra <amodra@gmail.com>
+
+ * elf-bfd.h (ENABLE_CHECKING): Define.
+ (elf_link_hash_lookup): Abort if wrong type of hash table.
+ * configure.ac (--enable-checking): Add support.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+2021-04-12 Alan Modra <amodra@gmail.com>
+
+ * elf-bfd.h (is_elf_hash_table): Convert macro to inline function.
+ (elf_link_hash_lookup, elf_link_hash_traverse): Likewise.
+ (elf_hash_table, elf_hash_table_id): Likewise.
+ * elf32-arm.c (elf32_arm_setup_section_lists): Delete redundant
+ is_elf_hash_table check.
+ * elf32-csky.c (elf32_csky_setup_section_lists): Likewise.
+ * elf32-hppa.c (clobber_millicode_symbols): Correct param types.
+ * elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
+ * elfnn-ia64.c (elfNN_ia64_global_dyn_info_free: Likewise.
+ (elfNN_ia64_global_dyn_sym_thunk: Likewise.
+ * elf64-ia64-vms.c (elf64_ia64_global_dyn_info_free): Likewise.
+ (elf64_ia64_global_dyn_sym_thunk): Likewise.
+ (elf64_vms_link_add_object_symbols): Pass base type of hash table
+ to is_elf_hash_table.
+ * elflink.c (_bfd_elf_dynamic_symbol_p): Likewise.
+ (_bfd_elf_symbol_refs_local_p, _bfd_elf_add_dynamic_entry): Likewise.
+ (_bfd_elf_strip_zero_sized_dynamic_sections): Likewise.
+ (_bfd_elf_link_check_relocs, elf_link_add_object_symbols): Likewise.
+ (bfd_elf_final_link): Likewise.
+ * elfnn-aarch64.c (elfNN_aarch64_setup_section_lists): Likewise.
+ * elf64-ppc.c (ppc64_elf_set_toc): Likewise. Use bfd_link_hash_lookup.
+
+2021-04-12 Alan Modra <amodra@gmail.com>
+
+ * elf-bfd.h (struct elf_backend_data): Return bfd_link_hash_entry*
+ from elf_backend_archive_symbol_lookup.
+ (_bfd_elf_archive_symbol_lookup): Return bfd_link_hash_entry*.
+ * elf64-ppc.c (ppc64_elf_archive_symbol_lookup): Likewise. Check
+ we have a ppc_hash_table before accessing ppc_link_hash_entry
+ fields.
+ * elflink.c (_bfd_elf_archive_symbol_lookup): Return
+ bfd_link_hash_entry*.
+ (elf_link_add_archive_symbols): Adjust to suit.
+
+2021-04-12 Nelson Chu <nelson.chu@sifive.com>
+
+ * elfxx-riscv.c (riscv_parse_std_ext): Fixed the wrong versions of
+ i-ext when expanding g-ext.
+
+2021-04-12 Nelson Chu <nelson.chu@sifive.com>
+
+ * elfxx-riscv.c (riscv_ext_dont_care_version): Removed.
+ (riscv_parse_add_subset): Always add the implicit extensions, even if
+ their versions are RISCV_UNKNOWN_VERSION.
+ (riscv_parse_std_ext): Delay to add i-ext as the implicit extension
+ in the riscv_parse_add_implicit_subsets. Besides, add g-ext as the
+ implicit extension after it has been expanded.
+ (riscv_parse_add_implicit_subsets): Updated.
+
+2021-04-12 Nelson Chu <nelson.chu@sifive.com>
+
+ * elfxx-riscv.c (riscv_std_z_ext_strtab): Moved forward.
+ (riscv_std_s_ext_strtab): Likewise.
+ (riscv_std_h_ext_strtab): Likewise.
+ (riscv_std_zxm_ext_strtab): Added for the zxm prefix.
+ (enum riscv_prefix_ext_class): Moved forward and renamed from
+ riscv_isa_ext_class. Reorder them according to the parsing order,
+ since the enum values are used to check the orders in the
+ riscv_compare_subsets.
+ (struct riscv_parse_prefix_config): Moved forward and renamed from
+ riscv_parse_config_t. Also removed the ext_valid_p field, the
+ related functions are replaced by riscv_valid_prefixed_ext.
+ (parse_config): Moved forward and updated. The more letters of the
+ prefix string, the more forward it must be defined. Otherwise, we
+ will get the wrong mapping when using strncmp in riscv_get_prefix_class.
+ (riscv_get_prefix_class): Moved forward. Support to parse the
+ multi-letter prefix, like zxm.
+ (riscv_known_prefixed_ext): New function, check if the prefixed
+ extension is supported according to the right riscv_std_*_ext_strtab.
+ (riscv_valid_prefixed_ext): New function, used to replace the
+ riscv_ext_*_valid_p functions.
+ (riscv_init_ext_order): Do not set the values for prefix keywords
+ since they may have multiple letters for now.
+ (riscv_compare_subsets): Set the order values of prefix keywords
+ to negative numbers according to the riscv_prefix_ext_class.
+ (riscv_parse_std_ext): Call riscv_get_prefix_class to see if we
+ have parsed the prefixed extensions.
+ (riscv_parse_prefixed_ext): Updated and removed the parameter config.
+ Report error when the prefix is unknown.
+ (riscv_parse_subset): Do not parse the prefixed extensions according
+ to the orders in the parse_config. Remove the confused message and
+ let riscv_parse_prefixed_ext to report the details.
+ * elfxx-riscv.h (enum riscv_isa_ext_class): Moved to elfxx-riscv.c.
+ (riscv_get_prefix_class): Removed to static.
+
+2021-04-08 Mike Frysinger <vapier@gentoo.org>
+
+ * configure.ac (ACX_BUGURL): Use https://.
+ * configure.com (COPY_TEXT): Likewise.
+ * configure: Regenerate.
+
+2021-04-05 Alan Modra <amodra@gmail.com>
+
+ * configure.ac: Don't check for long long or long double type.
+ Don't check for alloca.h, limits.h, stddef.h, stdlib.h, string.h,
+ strings.h, time.h, wchar.h, wctype.h or sys/time.h. Don't check
+ for strtoull, free, malloc, realloc, getenv, strstr, snprintf,
+ vsnprintf, strlen or setitimer. Sort AC_CHECK_DECLS.
+ (AC_ISC_POSIX): Don't invoke.
+ (AC_HEADER_TIME, AC_HEADER_DIRENT, ACX_HEADER_STRING): Likewise.
+ * sysdep.h: Remove many HAVE_*_H checks and fallback declarations.
+ Do test HAVE_SYS_TYPES_H. Don't include sys/time.h. Reorder
+ header order as per automake AC_INCLUDES_DEFAULT.
+ * bfd-in.h: Include inttypes.h unconditionally.
+ * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Assume long long and
+ long double are available.
+ (bfd_scan_vma): Assume long long and strtoull are available.
+ * elflink.c: Include limits.h unconditionally.
+ * elfnn-riscv.c: Likewise.
+ * wasm-module.c: Likewise.
+ * hpux-core.c: Include dirent.h unconditionally.
+ * trad-core.c: Likewise.
+ * hosts/x86-64linux.h: Include stdlib.h unconditionally.
+ * peXXigen.c: Remove HAVE_WCHAR_H and HAVE_WCTYPE_H checks.
+ * elf32-m68hc1x.c: Don't include alloca-conf.h.
+ * elf64-hppa.c: Likewise.
+ * som.c: Likewise.
+ * wasm-module.c: Likewise.
+ * xsym.c: Likewise.
+ * bfd-in2.h: Regenerate.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+2021-04-01 Tamar Christina <tamar.christina@arm.com>
+
+ PR ld/26659
+ * cofflink.c (_bfd_coff_generic_relocate_section): Ignore overflow.
+
+2021-04-01 Martin Liska <mliska@suse.cz>
+
+ * ecoff.c (strneq): Remove strneq and use startswith.
+ (_bfd_ecoff_slurp_armap): Likewise.
+
2021-04-01 Martin Liska <mliska@suse.cz>
* elf-bfd.h (bfd_section_is_ctf): Use startswith function.
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