+2020-06-03 Gunther Nikl <gnikl@justmail.de>
+
+ * aout64.c (BMAGIC, QMAGIC): Do not define.
+ * aoutx.h (N_IS_BMAGIC, N_SET_QMAGIC): New defines.
+ (NAME (aout, some_aout_object_p)): Use N_IS_QMAGIC and N_IS_BMAGIC
+ to check the file format.
+ (adjust_z_magic): Use N_SET_QMAGIC to set file format.
+ * i386aout.c (NO_WRITE_HEADER_KLUDGE): Delete define.
+ * libaout.h (NO_WRITE_HEADER_KLUDGE): Do not define.
+
+2020-06-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (_bfd_elf_maybe_set_textrel): New
+ * elf32-arm.c (maybe_set_textrel): Removed.
+ (elf32_arm_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elf32-csky.c (maybe_set_textrel): Removed.
+ (csky_elf_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elf32-hppa.c (maybe_set_textrel): Removed.
+ (elf32_hppa_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elf32-lm32.c (maybe_set_textrel): Removed.
+ (lm32_elf_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elf32-m32r.c (maybe_set_textrel): Removed.
+ (m32r_elf_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elf32-metag.c (maybe_set_textrel): Removed.
+ (elf_metag_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elf32-nds32.c (maybe_set_textrel): Removed.
+ (nds32_elf_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elf32-or1k.c (maybe_set_textrel): Removed.
+ (or1k_elf_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elf32-ppc.c (maybe_set_textrel): Removed.
+ (ppc_elf_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elf32-s390.c (maybe_set_textrel): Removed.
+ (elf_s390_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elf32-sh.c (maybe_set_textrel): Removed.
+ (sh_elf_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elf32-tic6x.c (maybe_set_textrel): Removed.
+ (elf32_tic6x_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elf32-tilepro.c (maybe_set_textrel): Removed.
+ (tilepro_elf_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elf64-ppc.c (maybe_set_textrel): Removed.
+ (ppc64_elf_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elf64-s390.c (maybe_set_textrel): Removed.
+ (elf_s390_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elfnn-aarch64.c (maybe_set_textrel): Removed.
+ (elfNN_aarch64_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elfnn-riscv.c (maybe_set_textrel): Removed.
+ (riscv_elf_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elfxx-sparc.c (maybe_set_textrel): Removed.
+ (_bfd_sparc_elf_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elfxx-tilegx.c (maybe_set_textrel): Removed.
+ (tilegx_elf_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elfxx-x86.c (maybe_set_textrel): Removed.
+ (_bfd_x86_elf_size_dynamic_sections): Replace maybe_set_textrel
+ with _bfd_elf_maybe_set_textrel.
+ * elflink.c (_bfd_elf_maybe_set_textrel): New.
+
+2020-06-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/26067
+ * elf32-arm.c (elf32_arm_copy_indirect_symbol): Don't copy
+ dyn_relocs.
+ * elf32-csky.c (csky_elf_copy_indirect_symbol): Likewise.
+ * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
+ * elf32-metag.c (elf_metag_copy_indirect_symbol): Likewise.
+ * elf32-microblaze.c (microblaze_elf_copy_indirect_symbol):
+ Likewise.
+ * elf32-nds32.c (nds32_elf_copy_indirect_symbol): Likewise.
+ * elf32-nios2.c (nios2_elf32_copy_indirect_symbol): Likewise.
+ * elf32-or1k.c (or1k_elf_copy_indirect_symbol): Likewise.
+ * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
+ * elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
+ * elf32-tilepro.c (tilepro_elf_copy_indirect_symbol): Likewise.
+ * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
+ * elfnn-aarch64.c (elfNN_aarch64_copy_indirect_symbol): Likewise.
+ * elfnn-riscv.c (riscv_elf_copy_indirect_symbol): Likewise.
+ * elfxx-sparc.c (_bfd_sparc_elf_copy_indirect_symbol): Likewise.
+ * elfxx-tilegx.c (tilegx_elf_copy_indirect_symbol): Likewise.
+ * elfxx-x86.c (_bfd_x86_elf_copy_indirect_symbol): Likewise.
+ * elf32-lm32.c (lm32_elf_copy_indirect_symbol): Removed.
+ (elf_backend_copy_indirect_symbol): Likewise.
+ * elf32-m32r.c (m32r_elf_copy_indirect_symbol): Removed.
+ (elf_backend_copy_indirect_symbol): Likewise.
+ * elflink.c (_bfd_elf_link_hash_copy_indirect): Copy dyn_relocs.
+
+2020-06-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/26067
+ * elf-bfd.h (_bfd_elf_readonly_dynrelocs): New.
+ * elf32-arm.c (readonly_dynrelocs): Removed.
+ (maybe_set_textrel): Replace readonly_dynrelocs with
+ _bfd_elf_readonly_dynrelocs.
+ * elf32-csky.c (readonly_dynrelocs): Removed.
+ (maybe_set_textrel): Replace readonly_dynrelocs with
+ _bfd_elf_readonly_dynrelocs.
+ * elf32-hppa.c(readonly_dynrelocs): Removed.
+ (alias_readonly_dynrelocs): Replace readonly_dynrelocs with
+ _bfd_elf_readonly_dynrelocs.
+ (maybe_set_textrel): Likewise.
+ * elf32-lm32.c (readonly_dynrelocs): Removed.
+ (lm32_elf_adjust_dynamic_symbol): Replace readonly_dynrelocs
+ with _bfd_elf_readonly_dynrelocs.
+ (maybe_set_textrel): Likewise.
+ * elf32-m32r.c (readonly_dynrelocs): Removed.
+ (m32r_elf_adjust_dynamic_symbol): Replace readonly_dynrelocs
+ with _bfd_elf_readonly_dynrelocs.
+ (maybe_set_textrel): Likewise.
+ * elf32-metag.c (readonly_dynrelocs): Removed.
+ (elf_metag_adjust_dynamic_symbol): Replace readonly_dynrelocs
+ with _bfd_elf_readonly_dynrelocs.
+ (maybe_set_textrel): Likewise.
+ * elf32-microblaze.c (readonly_dynrelocs): Removed.
+ (microblaze_elf_adjust_dynamic_symbol): Replace readonly_dynrelocs
+ with _bfd_elf_readonly_dynrelocs.
+ * elf32-nds32.c (readonly_dynrelocs): Removed.
+ (nds32_elf_adjust_dynamic_symbol): Replace readonly_dynrelocs
+ with _bfd_elf_readonly_dynrelocs.
+ (maybe_set_textrel): Likewise.
+ * elf32-or1k.c (readonly_dynrelocs): Removed.
+ (or1k_elf_adjust_dynamic_symbol): Replace readonly_dynrelocs
+ with _bfd_elf_readonly_dynrelocs.
+ * elf32-ppc.c (readonly_dynrelocs): Removed.
+ (alias_readonly_dynrelocs): Replace readonly_dynrelocs with
+ _bfd_elf_readonly_dynrelocs.
+ (ppc_elf_adjust_dynamic_symbol): Likewise.
+ (maybe_set_textrel): Likewise.
+ * elf32-s390.c (readonly_dynrelocs): Removed.
+ (elf_s390_adjust_dynamic_symbol): Replace readonly_dynrelocs
+ with _bfd_elf_readonly_dynrelocs.
+ (maybe_set_textrel): Likewise.
+ * elf32-sh.c (readonly_dynrelocs): Removed.
+ (sh_elf_adjust_dynamic_symbol): Replace readonly_dynrelocs with
+ _bfd_elf_readonly_dynrelocs.
+ (maybe_set_textrel): Likewise.
+ * elf32-tic6x.c (readonly_dynrelocs): Removed.
+ (maybe_set_textrel): Replace readonly_dynrelocs with
+ _bfd_elf_readonly_dynrelocs.
+ * elf32-tilepro.c (readonly_dynrelocs): Removed.
+ (tilepro_elf_adjust_dynamic_symbol): Replace readonly_dynrelocs
+ with _bfd_elf_readonly_dynrelocs.
+ (maybe_set_textrel): Likewise.
+ * elf64-ppc.c (readonly_dynrelocs): Removed.
+ (alias_readonly_dynrelocs): Replace readonly_dynrelocs with
+ _bfd_elf_readonly_dynrelocs.
+ (ppc64_elf_adjust_dynamic_symbol): Likewise.
+ (maybe_set_textrel): Likewise.
+ * elf64-s390.c (readonly_dynrelocs): Removed.
+ (elf_s390_adjust_dynamic_symbol): Replace readonly_dynrelocs
+ with _bfd_elf_readonly_dynrelocs.
+ (maybe_set_textrel): Likewise.
+ * elflink.c (_bfd_elf_readonly_dynrelocs): New.
+ * elfnn-aarch64.c (readonly_dynrelocs): Removed.
+ (maybe_set_textrel): Replace readonly_dynrelocs with
+ _bfd_elf_readonly_dynrelocs.
+ * elfnn-riscv.c (readonly_dynrelocs): Removed.
+ (riscv_elf_adjust_dynamic_symbol): Replace readonly_dynrelocs
+ with _bfd_elf_readonly_dynrelocs.
+ (maybe_set_textrel): Likewise.
+ * elfxx-sparc.c (readonly_dynrelocs): Removed.
+ (_bfd_sparc_elf_adjust_dynamic_symbol): Replace
+ readonly_dynrelocs with _bfd_elf_readonly_dynrelocs.
+ (maybe_set_textrel): Likewise.
+ * elfxx-tilegx.c (readonly_dynrelocs): Removed.
+ (tilegx_elf_adjust_dynamic_symbol): Replace readonly_dynrelocs
+ with _bfd_elf_readonly_dynrelocs.
+ (maybe_set_textrel): Likewise.
+ * elfxx-x86.c (readonly_dynrelocs): Removed.
+ (maybe_set_textrel): Replace readonly_dynrelocs with
+ _bfd_elf_readonly_dynrelocs.
+ (_bfd_x86_elf_adjust_dynamic_symbol): Likewise.
+
+2020-06-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-x86.h (GENERATE_DYNAMIC_RELOCATION_P): Silence
+ -fsanitize=undefined.
+
+2020-06-03 Alan Modra <amodra@gmail.com>
+
+ PR 26069
+ PR 18758
+ * peicode.h (pe_ILF_make_a_section): Align data for compilers
+ other than gcc.
+ (pe_ILF_build_a_bfd): Likewise.
+
+2020-06-03 Alan Modra <amodra@gmail.com>
+
+ PR 26029
+ * elf.c (_bfd_elf_close_and_cleanup): Free elf_shstrtab for
+ core files as well as objects.
+
+2020-06-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/26067
+ * elf-bfd.h (elf_link_hash_entry): Add dyn_relocs after size.
+ * elf-s390-common.c (s390_elf_allocate_ifunc_dyn_relocs):
+ Updated.
+ * elf32-arc.c (elf_arc_link_hash_entry): Remove dyn_relocs.
+ (elf_arc_link_hash_newfunc): Updated.
+ * elf32-arm.c (elf32_arm_link_hash_entry): Remove dyn_relocs.
+ (elf32_arm_link_hash_newfunc): Updated.
+ (elf32_arm_copy_indirect_symbol): Likewise.
+ (elf32_arm_check_relocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ (allocate_dynrelocs_for_symbol): Likewise.
+ * elf32-csky.c (csky_elf_link_hash_entry): Remove dyn_relocs.
+ (csky_elf_link_hash_newfunc): Updated.
+ (csky_allocate_dynrelocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ (csky_elf_copy_indirect_symbol): Likewise.
+ * elf32-hppa.c (elf32_hppa_link_hash_entry): Remove dyn_relocs.
+ (hppa_link_hash_newfunc): Updated.
+ (elf32_hppa_copy_indirect_symbol): Likewise.
+ (elf32_hppa_hide_symbol): Likewise.
+ (elf32_hppa_adjust_dynamic_symbol): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (elf32_hppa_relocate_section): Likewise.
+ * elf32-i386.c (elf_i386_check_relocs): Likewise.
+ * elf32-lm32.c (elf_lm32_link_hash_entry): Removed.
+ (lm32_elf_link_hash_newfunc): Likewise.
+ (lm32_elf_link_hash_table_create): Updated.
+ (readonly_dynrelocs): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (lm32_elf_copy_indirect_symbol): Likewise.
+ * elf32-m32r.c (elf_m32r_link_hash_entry): Removed.
+ (m32r_elf_link_hash_newfunc): Likewise.
+ (m32r_elf_link_hash_table_create): Updated.
+ (m32r_elf_copy_indirect_symbol): Likewise.
+ (allocate_dynrelocs): Likewise.
+ * elf32-metag.c (elf_metag_link_hash_entry): Remove dyn_relocs.
+ (metag_link_hash_newfunc): Updated.
+ (elf_metag_copy_indirect_symbol): Likewise.
+ (readonly_dynrelocs): Likewise.
+ (allocate_dynrelocs): Likewise.
+ * elf32-microblaze.c (elf32_mb_link_hash_entry): Remove
+ dyn_relocs.
+ (link_hash_newfunc): Updated.
+ (microblaze_elf_check_relocs): Likewise.
+ (microblaze_elf_copy_indirect_symbol): Likewise.
+ (readonly_dynrelocs): Likewise.
+ (allocate_dynrelocs): Likewise.
+ * elf32-nds32.c (elf_nds32_link_hash_entry): Remove dyn_relocs.
+ (nds32_elf_link_hash_newfunc): Updated.
+ (nds32_elf_copy_indirect_symbol): Likewise.
+ (readonly_dynrelocs): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (nds32_elf_check_relocs): Likewise.
+ * elf32-nios2.c (elf32_nios2_link_hash_entry): Remove dyn_relocs.
+ (link_hash_newfunc): Updated.
+ (nios2_elf32_copy_indirect_symbol): Likewise.
+ (nios2_elf32_check_relocs): Likewise.
+ (allocate_dynrelocs): Likewise.
+ * elf32-or1k.c (elf_or1k_link_hash_entry): Remove dyn_relocs.
+ (or1k_elf_link_hash_newfunc): Updated.
+ (readonly_dynrelocs): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (or1k_elf_copy_indirect_symbol): Likewise.
+ * elf32-ppc.c (ppc_elf_link_hash_entry): Remove dyn_relocs.
+ (ppc_elf_link_hash_newfunc): Updated.
+ (ppc_elf_copy_indirect_symbol): Likewise.
+ (ppc_elf_check_relocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ (ppc_elf_adjust_dynamic_symbol): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (ppc_elf_relocate_section): Likewise.
+ * elf32-s390.c (elf_s390_link_hash_entry): Remove dyn_relocs.
+ (link_hash_newfunc): Updated.
+ (elf_s390_copy_indirect_symbol): Likewise.
+ (readonly_dynrelocs): Likewise.
+ (elf_s390_adjust_dynamic_symbol): Likewise.
+ (allocate_dynrelocs): Likewise.
+ * elf32-sh.c (elf_sh_link_hash_entry): Remove dyn_relocs.
+ (sh_elf_link_hash_newfunc): Updated.
+ (readonly_dynrelocs): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (sh_elf_copy_indirect_symbol): Likewise.
+ (sh_elf_check_relocs): Likewise.
+ * elf32-tic6x.c (elf32_tic6x_link_hash_entry): Removed.
+ (elf32_tic6x_link_hash_newfunc): Likewise.
+ (elf32_tic6x_link_hash_table_create): Updated.
+ (readonly_dynrelocs): Likewise.
+ (elf32_tic6x_check_relocs): Likewise.
+ (elf32_tic6x_allocate_dynrelocs): Likewise.
+ * elf32-tilepro.c (tilepro_elf_link_hash_entry): Remove
+ dyn_relocs.
+ (link_hash_newfunc): Updated.
+ (tilepro_elf_copy_indirect_symbol): Likewise.
+ (tilepro_elf_check_relocs): Likewise.
+ (allocate_dynrelocs): Likewise.
+ * elf64-ppc.c (ppc_link_hash_entry): Remove dyn_relocs.
+ (ppc64_elf_copy_indirect_symbol): Updated.
+ (ppc64_elf_check_relocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ (ppc64_elf_adjust_dynamic_symbol): Likewise.
+ (dec_dynrel_count): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (ppc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_link_hash_entry): Remove dyn_relocs.
+ (link_hash_newfunc): Updated.
+ (elf_s390_copy_indirect_symbol): Likewise.
+ (readonly_dynrelocs): Likewise.
+ (allocate_dynrelocs): Likewise.
+ * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
+ * elfnn-aarch64.c (elf_aarch64_link_hash_entry): Remove
+ dyn_relocs.
+ (elfNN_aarch64_link_hash_newfunc): Updated.
+ (elfNN_aarch64_copy_indirect_symbol): Likewise.
+ (readonly_dynrelocs): Likewise.
+ (need_copy_relocation_p): Likewise.
+ (elfNN_aarch64_allocate_dynrelocs): Likewise.
+ (elfNN_aarch64_allocate_ifunc_dynrelocs): Likewise.
+ * elfnn-riscv.c (riscv_elf_link_hash_entry): Remove dyn_relocs.
+ (link_hash_newfunc): Updated.
+ (riscv_elf_copy_indirect_symbol): Likewise.
+ (riscv_elf_check_relocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ (allocate_dynrelocs): Likewise.
+ * elfxx-sparc.c (_bfd_sparc_elf_link_hash_entry): Remove
+ dyn_relocs.
+ (link_hash_newfunc): Updated.
+ (_bfd_sparc_elf_copy_indirect_symbol): Likewise.
+ (_bfd_sparc_elf_check_relocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ (allocate_dynrelocs): Likewise.
+ * elfxx-tilegx.c (tilegx_elf_link_hash_entry): Remove dyn_relocs.
+ (link_hash_newfunc): Updated.
+ (tilegx_elf_copy_indirect_symbol): Likewise.
+ (tilegx_elf_check_relocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ (allocate_dynrelocs): Likewise.
+ * elfxx-x86.c (elf_x86_allocate_dynrelocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ (_bfd_x86_elf_copy_indirect_symbol): Likewise.
+ * elfxx-x86.h (elf_x86_link_hash_entry): Remove dyn_relocs.
+
+2020-06-01 Alan Modra <amodra@gmail.com>
+
+ * vms-alpha.c (_bfd_vms_slurp_etir): Check bound for the current
+ command against cmd_length, not the end of record. For
+ ETIR__C_STO_IMMR check size against cmd_length, mask repeat count
+ to 32-bits and break out on zero size. Add ETIR__C_STC_LP_PSB
+ cmd_length test.
+
+2020-05-28 David Faust <david.faust@oracle.com>
+
+ * elf64-bpf.c (bpf_elf_relocate_section): Fix handling of
+ R_BPF_INSN_{32,64} relocations.
+
+2020-05-28 Stephen Casner <casner@acm.org>
+
+ * pdp11.c: Implement BRD_RELOC_32 to relocate the low 16 bits of
+ addreses in .long (used in testsuites) and .stab values.
+
+2020-05-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/22909
+ * elflink.c (bfd_elf_final_link): Use bfd_link_textrel_check.
+ Check bfd_link_dll when issue a DT_TEXTREL warning.
+ * elfxx-x86.c (maybe_set_textrel): Likewise.
+ (_bfd_x86_elf_size_dynamic_sections): Likewise.
+
+2020-05-26 Nick Clifton <nickc@redhat.com>
+
+ * plugin.c (try_load_plugin): Extend error message when a plugin
+ fails to open.
+
+2020-05-23 Alan Modra <amodra@gmail.com>
+
+ * bfdio.c (bfd_get_file_size): Don't segfault on NULL arch_header.
+
+2020-05-22 Alan Modra <amodra@gmail.com>
+
+ PR 25882
+ * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Don't init FP
+ attributes from shared libraries, and do not return an error if
+ they don't match.
+
+2020-05-21 Alan Modra <amodra@gmail.com>
+
+ PR 25993
+ * opncls.c (_bfd_free_cached_info): Keep a copy of the bfd
+ filename.
+ (_bfd_delete_bfd): Free the copy.
+ (_bfd_new_bfd): Free nbfd->memory on error.
+
+2020-05-21 Alan Modra <amodra@gmail.com>
+
+ * aoutx.h: Replace "if (x) free (x)" with "free (x)" throughout.
+ * archive.c, * bfd.c, * bfdio.c, * coff-alpha.c, * coff-ppc.c,
+ * coff-sh.c, * coff-stgo32.c, * coffcode.h, * coffgen.c,
+ * cofflink.c, * cpu-arm.c, * doc/chew.c, * dwarf2.c, * ecoff.c,
+ * ecofflink.c, * elf-eh-frame.c, * elf-m10200.c, * elf-m10300.c,
+ * elf-strtab.c, * elf.c, * elf32-arc.c, * elf32-arm.c,
+ * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c, * elf32-crx.c,
+ * elf32-epiphany.c, * elf32-ft32.c, * elf32-h8300.c,
+ * elf32-ip2k.c, * elf32-m32c.c, * elf32-m68hc11.c,
+ * elf32-m68k.c, * elf32-microblaze.c, * elf32-msp430.c,
+ * elf32-nds32.c, * elf32-nios2.c, * elf32-ppc.c, * elf32-pru.c,
+ * elf32-rl78.c, * elf32-rx.c, * elf32-sh.c, * elf32-spu.c,
+ * elf32-v850.c, * elf32-xtensa.c, * elf64-alpha.c,
+ * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mips.c
+ * elf64-mmix.c, * elf64-ppc.c, * elf64-sparc.c, * elfcode.h,
+ * elflink.c, * elfnn-ia64.c, * elfnn-riscv.c, * elfxx-mips.c,
+ * elfxx-x86.c, * format.c, * ihex.c, * libbfd.c, * linker.c,
+ * mmo.c, * opncls.c, * pdp11.c, * peXXigen.c, * pef.c,
+ * peicode.h, * simple.c, * som.c, * srec.c, * stabs.c, * syms.c,
+ * targets.c, * vms-lib.c, * xcofflink.c, * xtensa-isa.c: Likewise.
+
+2020-05-20 Nelson Chu <nelson.chu@sifive.com>
+
+ * elfxx-riscv.h (riscv_parse_subset_t): Add new callback function
+ get_default_version. It is used to find the default version for
+ the specific extension.
+ * elfxx-riscv.c (riscv_parsing_subset_version): Remove the parameters
+ default_major_version and default_minor_version. Add new bfd_boolean
+ parameter *use_default_version. Set it to TRUE if we need to call
+ the callback rps->get_default_version to find the default version.
+ (riscv_parse_std_ext): Call rps->get_default_version if we fail to find
+ the default version in riscv_parsing_subset_version, and then call
+ riscv_add_subset to add the subset into subset list.
+ (riscv_parse_prefixed_ext): Likewise.
+ (riscv_std_z_ext_strtab): Support Zicsr extensions.
+ * elfnn-riscv.c (riscv_merge_std_ext): Use strcasecmp to compare the
+ strings rather than characters.
+ riscv_merge_arch_attr_info): The callback function get_default_version
+ is only needed for assembler, so set it to NULL int the linker.
+ * elfxx-riscv.c (riscv_estimate_digit): Remove the static.
+ * elfxx-riscv.h: Updated.
+
+2020-05-20 Alan Modra <amodra@gmail.com>
+
+ PR 25993
+ * archive.c (_bfd_get_elt_at_filepos): Don't strdup filename,
+ use bfd_set_filename.
+ * elfcode.h (_bfd_elf_bfd_from_remote_memory): Likewise.
+ * mach-o.c (bfd_mach_o_fat_member_init): Likewise.
+ * opncls.c (bfd_fopen, bfd_openstreamr, bfd_openr_iovec, bfd_openw),
+ (bfd_create): Likewise.
+ (_bfd_delete_bfd): Don't free filename.
+ (bfd_set_filename): Copy filename param to bfd_alloc'd memory,
+ return pointer to the copy or NULL on alloc fail.
+ * vms-lib.c (_bfd_vms_lib_get_module): Free newname and test
+ result of bfd_set_filename.
+ * bfd-in2.h: Regenerate.
+
+2020-05-20 Alan Modra <amodra@gmail.com>
+
+ PR 26011
+ * elf.c (_bfd_elf_get_reloc_upper_bound): Sanity check reloc
+ section size against file size.
+ (_bfd_elf_get_dynamic_reloc_upper_bound): Likewise.
+
+2020-05-19 Gunther Nikl <gnikl@justmail.de>
+
+ PR 26005
+ * elf.c (bfd_section_from_shdr): Replace bfd_zmalloc with bfd_malloc
+ and memset when allocating memory for the sections_being_created
+ array.
+
+2020-05-19 Stafford Horne <shorne@gmail.com>
+
+ * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Rename srela
+ to relgot.
+ (or1k_elf_relocate_section): Access srelgot via
+ htab->root.srelgot. Add assertions for srelgot->contents.
+ Introduce local variable for srelgot to not reuse global
+ sreloc.
+ (or1k_elf_relocate_section): Fixup dynamic symbol detection.
+ (or1k_set_got_and_rela_sizes): New function.
+ (or1k_initial_exec_offset): New function.
+ (TLS_GD, TLS_IE, TLS_LD, TLS_LE): Redefine macros as masks.
+ (or1k_elf_relocate_section): Allow for TLS to handle multiple
+ model access.
+ (or1k_elf_check_relocs): Use OR to set TLS access.
+ (allocate_dynrelocs): Use or1k_set_got_and_rela_sizes to set
+ sizes.
+ (or1k_elf_size_dynamic_sections): Use
+ or1k_set_got_and_rela_sizes to set sizes.
+ (or1k_elf_relocate_section): Fixup PCREL relocation calculation.
+ (TCB_SIZE): New macro.
+ (tpoff): Use TCB_SIZE and alignment to calculate offset.
+ (allocate_dynrelocs, readonly_dynrelocs, or1k_elf_check_relocs)
+ (or1k_elf_size_dynamic_sections): Rename p to sec_relocs.
+ (allocate_dynrelocs): Rename s to splt or sgot based on usage.
+ (tpoff): Add dynamic boolean argument.
+ (or1k_elf_relocate_section): Pass dynamic flag to tpoff.
+
+2020-05-19 Siddhesh Poyarekar <siddesh.poyarekar@arm.com>
+
+ * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Club
+ BFD_RELOC_AARCH64_BRANCH19 and BFD_RELOC_AARCH64_TSTBR14
+ cases with BFD_RELOC_AARCH64_JUMP26.
+ (elfNN_aarch64_check_relocs): Likewise.
+
+2020-05-19 Alan Modra <amodra@gmail.com>
+
+ * aix5ppc-core.c (xcoff64_core_file_matches_executable_p): Use
+ bfd_get_filename rather than accessing bfd->filename directly.
+ * aout-target.h (MY (object_p)): Likewise.
+ * aoutx.h (aout_find_nearest_line, aout_link_write_symbols): Likewise.
+ * archive.c (find_nested_archive, _bfd_generic_read_ar_hdr_mag),
+ (_bfd_construct_extended_name_table, _bfd_bsd44_write_ar_hdr),
+ (_bfd_archive_bsd44_construct_extended_name_table),
+ (_bfd_write_archive_contents, _bfd_compute_and_write_armap),
+ (_bfd_bsd_write_armap): Likewise.
+ * bfd.c (bfd_errmsg, _bfd_doprnt): Likewise.
+ * cache.c (bfd_open_file): Likewise.
+ * ecoff.c (_bfd_ecoff_write_armap): Likewise.
+ * ecofflink.c (bfd_ecoff_debug_accumulate_other): Likewise.
+ * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
+ * elf32-frv.c (elf32_frv_relocate_section): Likewise.
+ * elf32-hppa.c (elf32_hppa_final_link): Likewise.
+ * elf32-nds32.c (nds32_elf_output_symbol_hook),
+ (patch_tls_desc_to_ie): Likewise.
+ * elf32-spu.c (sort_bfds, print_one_overlay_section),
+ (spu_elf_auto_overlay): Likewise.
+ * elf64-hppa.c (elf_hppa_final_link): Likewise.
+ * elf64-ia64-vms.c (elf64_ia64_size_dynamic_sections): Likewise.
+ * elfcore.h (elf_core_file_matches_executable_p): Likewise.
+ * elflink.c (bfd_elf_size_dynamic_sections),
+ (elf_link_input_bfd): Likewise.
+ * linker.c (_bfd_generic_link_output_symbols): Likewise.
+ * mach-o.c (bfd_mach_o_follow_dsym),
+ (bfd_mach_o_close_and_cleanup): Likewise.
+ * opncls.c (_bfd_delete_bfd, _maybe_make_executable),
+ (find_separate_debug_file, get_build_id_name): Likewise.
+ * pdp11.c (aout_find_nearest_line, aout_link_write_symbols): Likewise.
+ * plugin.c (bfd_plugin_open_input): Likewise.
+ * rs6000-core.c (rs6000coff_core_file_matches_executable_p): Likewise.
+ * som.c (som_write_armap): Likewise.
+ * srec.c (srec_write_record, srec_write_symbols): Likewise.
+ * vms-lib.c (_bfd_vms_lib_get_imagelib_file),
+ (_bfd_vms_lib_write_archive_contents): Likewise.
+ * xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
+
+2020-05-19 Alan Modra <amodra@gmail.com>
+
+ PR 25713
+ * bfdio.c (_bfd_real_fopen): Typo fix.
+
+2020-05-18 Nick Clifton <nickc@redhat.com>
+
+ PR 26005
+ * elf.c (bfd_section_from_shdr): Use bfd_malloc to allocate memory
+ for the sections_being_created array.
+
+2020-05-18 Alan Modra <amodra@gmail.com>
+
+ * ecoff.c (ecoff_slurp_reloc_table): Malloc external_relocs so
+ they can be freed without also freeing internal_relocs.
+
+2020-05-18 Jaydeep Chauhan <jaydeepchauhan1494@gmail.com>
+
+ PR 25713
+ * bfdio.c (_bfd_real_fopen): Convert UNIX style sirectory
+ separators into DOS style when creating a WIN32 fullpath.
+
+2020-05-14 Nelson Chu <nelson.chu@sifive.com>
+
+ * elfnn-riscv.c (elfNN_riscv_mkobject): New function. We need this
+ to initialize RISC-V tdata.
+
+2020-05-12 Gunther Nikl <gnikl@justmail.de>
+
+ * aoutx.h (NAME (aout, swap_std_reloc_out)): Reject an unsupported
+ relocation size.
+
+2020-05-11 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (xlate_pcrel_opt): Handle lxvp and stxvp.
+
+2020-05-11 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c: Rename powerxx to power10 throughout.
+
+2020-05-11 Alan Modra <amodra@gmail.com>
+
+ PR 25961
+ * coffgen.c (coff_get_normalized_symtab): Check that buffer
+ contains required number of auxents before processing any auxent.
+ * coffswap.h (coff_swap_aux_in <C_FILE>): Only swap in extended
+ file name from auxents for PE.
+
+2020-05-04 Gunther Nikl <gnikl@justmail.de>
+
+ * aout-cris.c (DEFAULT_ARCH): Delete define.
+ (MY_set_arch_mach): Likewise.
+ (SET_ARCH_MACH): Use bfd_set_arch_mach with an explicit architecture
+ of bfd_arch_cris.
+ (swap_ext_reloc_in): Add casts to r_index extraction. Mask valid bits
+ of r_type before the shift.
+
+2020-05-04 Wilco Dijkstra <wdijkstr@arm.com>
+
+ PR ld/25665
+ * elfnn-aarch64.c (group_sections): Copy implementation from
+ elf32-arm.c.
+
+2020-05-01 Alan Modra <amodra@gmail.com>
+
+ PR 25900
+ * elfnn-riscv.c (_bfd_riscv_relax_section): Check root.type before
+ accessing root.u.def of symbols. Also check root.u.def.section
+ is non-NULL. Reverse tests so as to make the logic positive.
+
+2020-05-01 Alan Modra <amodra@gmail.com>
+
+ PR 25882
+ * elf32-tic6x.c (elf32_tic6x_merge_attributes): Don't transfer
+ Tag_ABI_PIC or Tag_ABI_PID from dynamic objects to the output.
+
+2020-05-01 Alan Modra <amodra@gmail.com>
+
+ PR 25882
+ * elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Add FIXME.
+ * elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Likewise.
+ * elf32-nds32.c (nds32_elf_merge_private_bfd_data): Likewise.
+ * elf32-score.c (s3_elf32_score_merge_private_bfd_data): Likewise.
+ * elf32-score7.c (s7_elf32_score_merge_private_bfd_data): Likewise.
+ * elf32-sh.c (sh_elf_merge_private_data): Likewise.
+ * elf32-tic6x.c (elf32_tic6x_merge_attributes): Likewise.
+ * elf64-ia64-vms.c (elf64_ia64_merge_private_bfd_data): Likewise.
+ * elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): Likewise.
+
+2020-05-01 Alan Modra <amodra@gmail.com>
+
+ PR 25882
+ * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Ignore e_flags
+ from shared libraries.
+
+2020-04-29 Max Filippov <jcmvbkbc@gmail.com>
+
+ * elf32-xtensa.c (relax_section): Don't negate diff_value for
+ XTENSA_NDIFF relocations. Don't add sign bits whe diff_value
+ equals 0. Report overflow when the result has negative sign but
+ all significant bits are zero.
+
+2020-04-29 Gunther Nikl <gnikl@justmail.de>
+
+ * aoutx.h (swap_std_reloc_out): Special case 64 bit relocations.
+ (aout_link_reloc_link_order): Likewise. Make r_length an unsigned.
+
+2020-04-28 Alan Modra <amodra@gmail.com>
+
+ * vms-alpha.c (_bfd_vms_slurp_etir): Correct divide by zero check.
+ Emit warning message.
+
+2020-04-27 Tamar Christina <tamar.christina@arm.com>
+
+ * coff-i386.c (COFF_WITH_PE_BIGOBJ): New.
+ * coff-x86_64.c (COFF_WITH_PE_BIGOBJ): New.
+ * config.bfd (targ_selvecs): Rename x86_64_pe_be_vec
+ to x86_64_pe_big_vec as it not a big-endian format.
+ (vec i386_pe_big_vec): New.
+ * configure.ac: Likewise.
+ * targets.c: Likewise.
+ * configure: Regenerate.
+ * pe-i386.c (TARGET_SYM_BIG, TARGET_NAME_BIG,
+ COFF_WITH_PE_BIGOBJ): New.
+ * pe-x86_64.c (TARGET_SYM_BIG, TARGET_NAME_BIG):
+ New.
+ (x86_64_pe_be_vec): Moved.
+
+2020-04-23 Anton Kolesov <anton.kolesov@synopsys.com>
+
+ * elf-bfd.h (elfcore_write_arc_v2): Add prototype.
+ * elf.c (elfcore_grok_arc_v2): New function.
+ (elfcore_grok_note): Call the new function to handle the corresponding
+ note.
+ (elfcore_write_arc_v2): New function.
+ (elfcore_write_register_note): Call the new function to handle the
+ corresponding pseudo-sections.
+
+2020-04-22 Max Filippov <jcmvbkbc@gmail.com>
+
+ PR ld/25861
+ * bfd-in2.h: Regenerated.
+ * elf32-xtensa.c (elf_howto_table): New entries for
+ R_XTENSA_PDIFF{8,16,32} and R_XTENSA_NDIFF{8,16,32}.
+ (elf_xtensa_reloc_type_lookup, elf_xtensa_do_reloc)
+ (relax_section): Add cases for R_XTENSA_PDIFF{8,16,32} and
+ R_XTENSA_NDIFF{8,16,32}.
+ * libbfd.h (bfd_reloc_code_real_names): Add names for
+ BFD_RELOC_XTENSA_PDIFF{8,16,32} and
+ BFD_RELOC_XTENSA_NDIFF{8,16,32}.
+ * reloc.c: Add documentation for BFD_RELOC_XTENSA_PDIFF{8,16,32}
+ and BFD_RELOC_XTENSA_NDIFF{8,16,32}.
+
+2020-04-21 Tamar Christina <tamar.christina@arm.com>
+
+ PR binutils/24753
+ * compress.c (bfd_get_full_section_contents): Exclude sections with no
+ content.
+
+2020-04-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/25849
+ * elf-bfd.h (elf_backend_data): Add
+ elf_backend_strip_zero_sized_dynamic_sections.
+ (_bfd_elf_strip_zero_sized_dynamic_sections): New prototype.
+ * elf64-alpha.c (elf_backend_strip_zero_sized_dynamic_sections):
+ New macro.
+ * elflink.c (_bfd_elf_strip_zero_sized_dynamic_sections): New
+ function.
+ * elfxx-target.h (elf_backend_strip_zero_sized_dynamic_sections):
+ New macro.
+ (elfNN_bed): Add elf_backend_strip_zero_sized_dynamic_sections.
+
+2020-04-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf64-alpha.c (alpha_elf_reloc_entry): Replace reltext with
+ sec.
+ (elf64_alpha_check_relocs): Set sec instead of reltext. Warn
+ DT_TEXTREL with -M.
+ (elf64_alpha_calc_dynrel_sizes): Warn DT_TEXTREL with -M.
+
+2020-04-21 Nick Clifton <nickc@redhat.com>
+
+ * po/sr.po: Updated Serbian translation.
+
+2020-04-21 Alan Modra <amodra@gmail.com>
+
+ * elf32-sh.c (sh_elf_relocate_section): Remove STO_SH5_ISA32
+ processing.
+
+2020-04-20 Stephen Casner <casner@acm.org>
+
+ * pdp11.c (N_STAB): Modify value to avoid conflict with N_EXT
+ causing globals from linker script to be treated as debug symbols.
+ (translate_symbol_table): Don't sign-extend symbol values from 16
+ to 64 bits in nm output.
+
+2020-04-20 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_size_stubs): Strip relbrlt too.
+
+2020-04-18 Alan Modra <amodra@gmail.com>
+
+ * section.c (bfd_is_const_section): Correct test for special
+ sections.
+ * bfd-in2.h: Regenerate.
+
+2020-04-17 Alan Modra <amodra@gmail.com>
+
+ PR 25842
+ * elf.c (_bfd_elf_get_symbol_version_string): Don't segfault on
+ NULL nodename.
+
+2020-04-16 Nick Clifton <nickc@redhat.com>
+
+ PR 25803
+ * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Replace an
+ abort with a more helpful error message.
+
+2020-04-16 Alan Modra <amodra@gmail.com>
+
+ PR 25827
+ * dwarf2.c (scan_unit_for_symbols): Wrap overlong lines. Don't
+ strdup(0).
+
+2020-04-15 Fangrui Song <maskray@google.com>
+
+ PR binutils/24613
+ * coff-rs6000.c (xcoff_ppc_relocate_section): Change RM_GENERATE_ERROR
+ to RM_DIAGNOSE plus a check of warn_unresolved_syms.
+ * coff64-rs6000.c (xcoff_ppc_relocate_section): Likewise.
+ * elf-bfd.h (_bfd_elf_large_com_section): Likewise.
+ * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
+ * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
+ * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
+ * elf32-sh.c (sh_elf_relocate_section): Likewise.
+ * elf32-spu.c (spu_elf_relocate_section): Likewise.
+ * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
+ * elflink.c (elf_link_output_extsym): Likewise.
+ * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
+
+2020-04-15 Alan Modra <amodra@gmail.com>
+
+ PR 25823
+ * peXXigen.c (_bfd_XXi_swap_sym_in <C_SECTION>): Don't use a
+ pointer into strings that may be freed for section name, always
+ allocate a new string.
+
+2020-04-14 Juan Manuel Guerrero <juan.guerrero@gmx.de>
+ Jan W. Jagersma <jwjagersma@gmail.com>
+
+ * coff-go32.c (COFF_GO32, IMAGE_SCN_LNK_NRELOC_OVFL)
+ (coff_SWAP_scnhdr_in, coff_SWAP_scnhdr_out): Define.
+ (_bfd_go32_swap_scnhdr_in, _bfd_go32_swap_scnhdr_out)
+ (_bfd_go32_mkobject): New functions.
+ * coff-stgo32.c (IMAGE_SCN_LNK_NRELOC_OVFL)
+ (coff_SWAP_scnhdr_in, coff_SWAP_scnhdr_out): Define.
+ (go32exe_mkobject): Call _bfd_go32_mkobject.
+ * coffcode.h (COFF_WITH_EXTENDED_RELOC_COUNTER): Define.
+ (coff_set_alignment_hook): Define function for COFF_GO32_EXE
+ and COFF_GO32.
+ (coff_write_relocs): Enable extended reloc counter code if
+ COFF_WITH_EXTENDED_RELOC_COUNTER is defined. Test for obj_go32.
+ (coff_write_object_contents): Likewise. Pad section headers
+ for COFF_GO32 and COFF_GO32EXE. Use bfd_coff_swap_scnhdr_out
+ instead of coff_swap_scnhdr_out.
+ * cofflink.c (_bfd_coff_final_link): Test also for obj_go32 to
+ enable extended reloc counter.
+ * coffswap.h: (coff_swap_scnhdr_in, coff_swap_scnhdr_out):
+ Declare with ATTRIBUTE_UNUSED.
+ * libcoff-in.h: (struct coff_tdata): New field go32.
+ (obj_go32): Define.
+ * libcoff.h: Regenerate.
+
+2020-04-14 Fangrui Song <maskray@google.com>
+
+ PR gas/25768
+ * elf.c (assign_section_numbers): Always set .stab sh_entsize to
+ 12.
+
+2020-04-14 Stephen Casner <casner@acm.org>
+
+ PR ld/25677
+ * pdp11.c: Add implementation of --imagic option.
+ (adjust_o_magic): Fix objcopy --extract-symbol test.
+ * libaout.h (enum aout_magic): Add i_magic.
+
+2020-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ Nick Clifton <nickc@redhat.com>
+
+ * elf32-sparc.c (sparc_final_write_processing): Fix whitespace.
+ <0>: Ignore.
+ <default>: Error rather than abort.
+
+2020-04-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/25767
+ * elf.c (_bfd_elf_fixup_group_sections): Remove zero-sized
+ relocation section from section group.
+
+2020-04-02 Jan W. Jagersma <jwjagersma@gmail.com>
+
+ * bfdio.c (bfd_bread, bfd_tell, bfd_seek, bfd_mmap): Always add
+ bfd->origin to file offset.
+ * bfdwin.c (bfd_get_file_window): Likewise.
+ * bfd.c: Clarify the use of the bfd->origin field.
+ * bfd-in2.h: Regenerate.
+ * coff-i386.c: Don't include go32exe.h. Allow overriding
+ coff_write_object_contents via COFF_WRITE_CONTENTS.
+ * coff-stgo32.c (go32exe_cleanup, go32exe_mkobject)
+ (go32exe_write_object_contents): New functions.
+ (go32exe_temp_stub, go32exe_temp_stub_size): New static globals.
+ (COFF_WRITE_CONTENTS, GO32EXE_DEFAULT_STUB_SIZE): Define.
+ (create_go32_stub): Remove check for 2k size limit. Read stub
+ from go32exe_temp_stub if present.
+ (go32_stubbed_coff_bfd_copy_private_bfd_data): Allocate and
+ copy variable-length stub.
+ (go32_check_format): Read stub to go32exe_temp_stub, set
+ origin, return go32exe_cleanup.
+ (adjust_filehdr_in_post, adjust_filehdr_out_pre)
+ (adjust_filehdr_out_post, adjust_scnhdr_in_post)
+ (adjust_scnhdr_out_pre, adjust_scnhdr_out_post)
+ (adjust_aux_in_post, adjust_aux_out_pre, adjust_aux_out_post):
+ Remove functions and their associated #defines.
+ * coffcode.h (coff_mkobject_hook): Remove stub copying code.
+ * libcoff-in.h: (struct coff_tdata): New field stub_size.
+ Rename field go32stub to stub.
+ * libcoff.h: Regenerate.
+ * coff-stgo32.c (go32_check_format): Rename to...
+ (go32exe_check_format): ...this.
+ (go32_stubbed_coff_bfd_copy_private_bfd_data): Rename to...
+ (go32exe_copy_private_bfd_data): ...this.
+ (stub_bytes): Rename to...
+ (go32exe_default_stub): ...this.
+ (create_go32_stub): Rename to...
+ (go32exe_create_stub): ...this.
+ * coff-stgo32.c (go32exe_copy_private_bfd_data): Avoid realloc
+ when possible.
+
+2020-04-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/25749
+ PR ld/25754
+ * elf32-i386.c (elf_i386_convert_load_reloc): Convert load
+ relocation to R_386_32 for relocation against non-preemptible
+ absolute symbol.
+ (elf_i386_check_relocs): Call _bfd_elf_x86_valid_reloc_p. Don't
+ allocate dynamic relocation for non-preemptible absolute symbol.
+ (elf_i386_relocate_section): Pass sec to
+ GENERATE_DYNAMIC_RELOCATION_P.
+ * elf64-x86-64.c (R_X86_64_converted_reloc_bit): Moved.
+ (elf_x86_64_convert_load_reloc): Covert load relocation to
+ R_X86_64_32S or R_X86_64_32 for relocation against non-preemptible
+ absolute symbol. Don't convert to R_X86_64_32S nor R_X86_64_32
+ for non-preemptible absolute symbol if they overflow.
+ (elf_x86_64_check_relocs): Call _bfd_elf_x86_valid_reloc_p. Set
+ tls_type for GOT slot to GOT_ABS for non-preemptible absolute
+ symbol. Don't allocate dynamic relocation for non-preemptible
+ absolute symbol.
+ (elf_x86_64_relocate_section): Don't generate relative relocation
+ for GOTPCREL relocations aganst local absolute symbol. Pass sec
+ to GENERATE_DYNAMIC_RELOCATION_P.
+ * elfxx-x86.c (elf_x86_allocate_dynrelocs): No dynamic relocation
+ against non-preemptible absolute symbol.
+ (_bfd_elf_x86_valid_reloc_p): New function.
+ (_bfd_x86_elf_size_dynamic_sections): No dynamic relocation for
+ GOT_ABS GOT slot.
+ * elfxx-x86.h (GENERATE_DYNAMIC_RELOCATION_P): Add an SEC
+ argument. Don't generate dynamic relocation against
+ non-preemptible absolute symbol.
+ (ABS_SYMBOL_P): New.
+ (GENERATE_RELATIVE_RELOC_P): Don't generate relative relocation
+ against non-preemptible absolute symbol.
+ (GOT_ABS): New.
+ (R_X86_64_converted_reloc_bit): New. Moved from elf64-x86-64.c.
+ (_bfd_elf_x86_valid_reloc_p): New.
+
+2020-04-01 Tamar Christina <tamar.christina@arm.com>
+
+ PR ld/16017
+ * elf32-arm.c (elf32_arm_populate_plt_entry): Set LSB of the PLT0
+ address in the GOT if in thumb only mode.
+
+2020-04-01 Tamar Christina <tamar.christina@arm.com>
+
+ * elf32-arm.c (elf32_thumb2_plt_entry): Fix PC-rel offset.
+
+2020-04-01 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmo.c (mmo_scan): Create .text section only when needed, not
+ from the start.
+
+2020-03-31 Alan Modra <amodra@gmail.com>
+
+ * coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Correct bfd_bread
+ return value check.
+
+2020-03-31 Alan Modra <amodra@gmail.com>
+
+ * vms-alpha.c (image_write): Check bounds for sections without
+ contents too. Error on non-zero write to section without
+ contents.
+ (_bfd_vms_slurp_etir): Check return of image_write* functions.
+
+2020-03-31 Alan Modra <amodra@gmail.com>
+
+ * tekhex.c (pass_over): Check is_eof before reading buffer.
+
+2020-03-30 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/pr25662
+ * libcoff-in.h (struct pe_tdata): Rename the insert_timestamp
+ field to timestamp and make it an integer.
+ * libcoff.h: Regenerate.
+ * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Test the timestamp
+ field in the pe_data structure rather than the insert_timestamp
+ field.
+
+2020-03-30 Alan Modra <amodra@gmail.com>
+
+ PR 25745
+ * elf64-ppc.c (ppc64_elf_build_stubs): Use asprintf to form
+ statistics message.
+
+2020-03-26 Nick Clifton <nickc@redhat.com>
+
+ * cofflink.c (bfd_coff_get_internal_extra_pe_aouthdr): Delete.
+ * libbfd-in.h (bfd_coff_get_internal_extra_pe_aouthdr): Remove
+ prototype.
+ * libbfd.h: Regenerate.
+
+2020-03-26 Alan Modra <amodra@gmail.com>
+
+ * i386msdos.c (msdos_object_p): Catch -1 return from bfd_bread.
+
+2020-03-26 Alan Modra <amodra@gmail.com>
+
+ * vms-alpha.c (dst_define_location): Limit size of dst_ptr_offsets
+ array.
+ (_bfd_vms_slurp_object_records): Rename "err" to "ok".
+
+2020-03-25 Nick Clifton <nickc@redhat.com>
+
+ * cofflink.c (bfd_coff_get_internal_extra_pe_aouthdr): New
+ function.
+ * libbfd-in.h (bfd_coff_get_internal_extra_pe_aouthdr): Prototype.
+ * libbfd.h: Regenerate.
+
+2020-03-25 Shahab Vahedi <shahab@synopsys.com>
+
+ * elf32-arc.c (PRINT_DEBUG_RELOC_INFO_BEFORE): Use the
+ correct field name in the output string.
+
+2020-03-25 Alan Modra <amodra@gmail.com>
+
+ PR 25662
+ * elf.c (assign_file_positions_for_load_sections): Adjust offset
+ for SHT_NOBITS section if first in segment.
+
+2020-03-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/25708
+ * elf-bfd.h (_bfd_elf_get_symbol_version_name): Renamed to ...
+ (_bfd_elf_get_symbol_version_string): This.
+ * elf.c (_bfd_elf_get_symbol_version_name): Renamed to ...
+ (_bfd_elf_get_symbol_version_string): This.
+ (bfd_elf_print_symbol): Pass TRUE to
+ _bfd_elf_get_symbol_version_string.
+ * libbfd-in.h (_bfd_nosymbols_get_symbol_version_string): Add a
+ bfd_boolean argument.
+ * syms.c (_bfd_nosymbols_get_symbol_version_string): Likewise.
+ * targets.c (_bfd_get_symbol_version_string): Likewise.
+ (bfd_get_symbol_version_string): Likewise.
+ * bfd-in2.h: Regenerated.
+
+2020-03-24 Nick Clifton <nickc@redhat.com>
+ Jaydeep Chauhan <jaydeepchauhan1494@gmail.com>
+
+ PR 25713
+ * bfdio.c (_bfd_real_fopen): Add code to handle long filenames on
+ Win32 systems.
+
+2020-03-24 Nick Clifton <nickc@redhat.com>
+
+ PR 25681
+ * elf.c (_bfd_elf_map_sections_to_segments): When looking for a
+ segment to use for PT_GNU_RELRO, ignore empty sections in a
+ segment's current list.
+
+2020-03-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/25717
+ * elf-bfd.h (elf_obj_tdata): Change num_group to unsigned int.
+
+2020-03-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/25708
+ * elf-bfd.h (_bfd_elf_get_symbol_version_name): New.
+ * elf.c (_bfd_elf_get_symbol_version_name): New function. Based
+ on the previous _bfd_elf_get_symbol_version_string.
+ (_bfd_elf_get_symbol_version_string): Use it.
+
+2020-03-24 Alan Modra <amodra@gmail.com>
+
+ * archive.c (_bfd_generic_read_ar_hdr_mag): Sanity check extended
+ name size. Use bfd_malloc rather than bfd_zmalloc, clearing just
+ struct areltdata.
+
+2020-03-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * elflink.c (_bfd_elf_tls_setup): Mention .tdata in comment.
+
+2020-03-23 Alan Modra <amodra@gmail.com>
+
+ * ecoff.c (_bfd_ecoff_slurp_armap): Sanity check parsed_size and
+ symbol count. Allocate an extra byte to ensure name strings
+ are terminated. Sanity check name offsets. Release memory on
+ error return.
+
+2020-03-23 Alan Modra <amodra@gmail.com>
+
+ * i386msdos.c (msdos_object_p): Don't access e_lfanew when that
+ field hasn't been read. Remove unnecessary casts.
+
+2020-03-22 Alan Modra <amodra@gmail.com>
+
+ * coff64-rs6000.c (xcoff64_slurp_armap): Ensure size is large
+ enough to read number of symbols.
+
+2020-03-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure.ac (HAVE_EXECUTABLE_SUFFIX): Removed.
+ (EXECUTABLE_SUFFIX): Likewise.
+ * config.in: Regenerated.
+ * configure: Likewise.
+ * plugin.c (bfd_plugin_close_and_cleanup): Defined as
+ _bfd_generic_close_and_cleanup.
+ (plugin_list_entry): Remove resolution_file, resolution_option,
+ real_bfd, real_nsyms, real_syms, lto_nsyms, lto_syms, gcc,
+ lto_wrapper, gcc_env and initialized,
+ (need_lto_wrapper_p): Removed.
+ (get_lto_wrapper): Likewise.
+ (setup_lto_wrapper_env): Likewise.
+ (register_all_symbols_read): Likewise.
+ (egister_cleanup): Likewise.
+ (get_symbols): Likewise.
+ (add_input_file): Likewise.
+ (bfd_plugin_set_program_name): Remove need_lto_wrapper.
+ (add_symbols): Updated.
+ (try_claim): Likewise.
+ (try_load_plugin): Likewise.
+ (bfd_plugin_canonicalize_symtab): Likewise.
+ * plugin.h (bfd_plugin_set_program_name): Remove int argument.
+ (plugin_data_struct): Remove real_bfd, real_nsyms and real_syms.
+
+2020-03-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/25640
+ * plugin.c (plugin_list_entry): Add has_symbol_type.
+ (add_symbols_v2): New function.
+ (bfd_plugin_open_input): Don't invoke LTO wrapper if LTO plugin
+ provides symbol type.
+ (try_load_plugin): Add LDPT_ADD_SYMBOLS_V2.
+ (bfd_plugin_canonicalize_symtab): Use LTO plugin symbol type if
+ available.
+
+2020-03-20 Alan Modra <amodra@gmail.com>
+
+ * coff-rs6000.c (_bfd_xcoff_slurp_armap): Ensure size is large
+ enough to read number of symbols.
+
+2020-03-20 Alan Modra <amodra@gmail.com>
+
+ * elf.c (_bfd_elf_setup_sections): Don't test known non-NULL
+ backend functions for NULL before calling.
+ (copy_special_section_fields, _bfd_elf_copy_private_bfd_data),
+ (bfd_section_from_shdr, assign_section_numbers): Likewise.
+ * elfcode.h (elf_write_relocs, elf_slurp_reloc_table): Likewise.
+ * elfnn-ia64.c (ignore_errors): New function.
+ (elf_backend_link_order_error_handler): Redefine as ignore_errors.
+
+2020-03-19 Nick Clifton <nickc@redhat.com>
+
+ PR 25676
+ * dwarf2.c (struct varinfo): Add unit_offset field to record the
+ location of the varinfo in the unit's debug info data. Change the
+ type of the stack field to a boolean.
+ (lookup_var_by_offset): New function. Returns the varinfo
+ structure for the variable described at the given offset in the
+ unit's debug info.
+ (scan_unit_for_symbols): Add support for variables which have the
+ DW_AT_specification attribute.
+
+2020-03-19 Nick Clifton <nickc@redhat.com>
+
+ PR 25699
+ * elf.c (bfd_elf_set_group_contents): Replace assertion with an
+ error return.
+
2020-03-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
* elfxx-riscv.c (riscv_parse_subset): Don't use C99.