+2020-07-22 Kevin Buettner <kevinb@redhat.com>
+
+ * elf.c (_bfd_elf_make_section_from_phdr): Remove hack for GDB.
+
+2020-07-22 Max Filippov <jcmvbkbc@gmail.com>
+
+ PR 26246
+ * elf32-xtensa.c (removed_literal_compare): Use correct pointer
+ type for the first function argument. Rename pointers to reflect
+ that they have distinct types.
+
+2020-07-20 Alan Modra <amodra@gmail.com>
+
+ * elflink.c (_bfd_elf_gc_keep): Use bfd_is_const_section.
+
+2020-07-19 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (struct ppc_link_hash_table): Add has_power10_relocs.
+ (select_alt_stub): New function.
+ (ppc_get_stub_entry): Use it here.
+ (ppc64_elf_check_relocs): Set had_power10_relocs rather than
+ power10_stubs.
+ (ppc64_elf_size_stubs): Clear power10_stubs here instead. Don't
+ merge notoc stubs with other varieties when power10_stubs is "auto".
+ Instead dup the stub hash table entry.
+ (plt_stub_size, ppc_build_one_stub, ppc_size_one_stub): Adjust
+ tests of power10_stubs.
+
+2020-07-15 Alan Modra <amodra@gmail.com>
+
+ PR 26239
+ * coffgen.c (_bfd_coff_close_and_cleanup): Free dwarf2 info.
+
+2020-07-15 Nick Clifton <nickc@redhat.com>
+
+ PR26240
+ * coffgen.c (coff_get_normalized_symtab): Fix off-by-one error in
+ check for aux entries that overflow the buufer.
+
+2020-07-15 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * elf64-mmix.c (mmix_elf_relax_section): Improve accounting for
+ R_MMIX_PUSHJ_STUBBABLE relocs against undefined symbols.
+
+2020-07-15 Markus Böck <markus.boeck02@gmail.com>
+ Alan Modra <amodra@gmail.com>
+
+ PR 26198
+ * coffgen.c (_bfd_coff_section_already_linked): Allow for plugin
+ objects both before and after normal object files.
+ * elflink.c (_bfd_elf_section_already_linked): Likewise.
+
+2020-07-10 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.h (struct ppc64_elf_params): Add power10_stubs.
+ * elf64-ppc.c (struct ppc_link_hash_table): Delete
+ power10_stubs.
+ (ppc64_elf_check_relocs): Adjust setting of power10_stubs.
+ (plt_stub_size, ppc_build_one_stub, ppc_size_one_stub): Adjust
+ uses of power10_stubs.
+
+2020-07-09 Alan Modra <amodra@gmail.com>
+
+ * coff-ppc.c: Delete.
+ * pe-ppc.c: Delete.
+ * pei-ppc.c: Delete.
+ * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Remove PE PPC.
+ * coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Remove
+ PPCMAGIC code.
+ (coff_write_object_contents): Remove PPC_PE code.
+ * config.bfd: Move powerpcle-pe to removed targets.
+ * configure.ac: Remove powerpc PE entries.
+ * libcoff-in.h (ppc_allocate_toc_section): Delete.
+ (ppc_process_before_allocation): Delete.
+ * peXXigen.c: Remove POWERPC_LE_PE code and comments.
+ * targets.c: Remove powerpc PE vectors.
+ * po/SRC-POTFILES.in: Regenerate.
+ * libcoff.h: Regenerate.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+
+2020-07-09 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+
+2020-07-07 Alan Modra <amodra@gmail.com>
+
+ * xcofflink.c (xcoff_mark): Don't mark const sections.
+ (bfd_xcoff_record_link_assignment): Add FIXME.
+ (_bfd_xcoff_bfd_final_link): Don't segfault on assorted magic
+ sections being discarded by linker script.
+
+2020-07-07 Alan Modra <amodra@gmail.com>
+
+ * coff-rs6000.c (xcoff_write_archive_contents_old): Set default
+ time, uid, gid and mode for deterministic archive.
+ (xcoff_write_archive_contents_big): Likewise.
+
+2020-07-07 Alan Modra <amodra@gmail.com>
+
+ * coffcode.h (coff_classify_symbol): Handle C_HIDEXT and
+ C_AIX_WEAKEXT.
+
+2020-07-06 Nick Clifton <nickc@redhat.com>
+
+ * po/pt.po: Updated Portuguese translation.
+ * po/uk.po: Updated Ukranian translation.
+
+2020-07-04 Nick Clifton <nickc@redhat.com>
+
+ * version.m4: Set version to 2.35.50.
+ * configure: Regenerate.
+ * po/bbfd.pot: Regenerate.
+
+2020-07-04 Nick Clifton <nickc@redhat.com>
+
+ Binutils 2.35 branch created.
+
+2020-07-01 Alan Modra <amodra@gmail.com>
+
+ PR 26188
+ * coffgen.c (coff_find_nearest_line_with_names): Sanity check
+ raw syment index before dereferencing.
+
+2020-07-01 Alan Modra <amodra@gmail.com>
+
+ * elf32-i386.c (elf_backend_object_p): Undef for vxworks.
+
+2020-07-01 Alan Modra <amodra@gmail.com>
+
+ * config.bfd: Obsolete xc16x.
+
+2020-06-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * archures.c (bfd_mach_i386_nacl): Removed.
+ (bfd_mach_i386_i386_nacl): Likewise.
+ (bfd_mach_x86_64_nacl): Likewise.
+ (bfd_mach_x64_32_nacl): Likewise.
+ * config.bfd: Remove *-*-nacl* targets.
+ * configure.ac: Remove x86 NaCl target vectors.
+ * cpu-i386.c (bfd_arch_i386_onebyte_nop_fill): Removed.
+ (bfd_x64_32_nacl_arch): Likewise.
+ (bfd_x86_64_nacl_arch): Likewise.
+ (bfd_i386_nacl_arch): Likewise.
+ (bfd_x64_32_arch_intel_syntax): Updated.
+ * elf32-i386.c: Don't include "elf-nacl.h".
+ (elf_i386_nacl_plt): Removed.
+ (elf_i386_nacl_plt0_entry): Likewise.
+ (elf_i386_nacl_plt_entry): Likewise.
+ (elf_i386_nacl_pic_plt0_entry): Likewise.
+ (elf_i386_nacl_pic_plt_entry): Likewise.
+ (elf_i386_nacl_eh_frame_plt): Likewise.
+ (elf_i386_nacl_plt): Likewise.
+ (elf32_i386_nacl_elf_object_p): Likewise.
+ (elf_i386_get_synthetic_symtab): Updated.
+ (elf_i386_link_setup_gnu_properties): Likewise.
+ * elf64-x86-64.c: Don't include "elf-nacl.h".
+ (elf_x86_64_nacl_plt): Removed.
+ (elf64_x86_64_nacl_elf_object_p): Likewise.
+ (elf_x86_64_nacl_plt0_entry): Likewise.
+ (elf_x86_64_nacl_plt_entry): Likewise.
+ (elf_x86_64_nacl_eh_frame_plt): Likewise.
+ (elf_x86_64_nacl_plt): Likewise.
+ (elf32_x86_64_nacl_elf_object_p): Likewise.
+ (elf_x86_64_get_synthetic_symtab): Updated.
+ (elf_x86_64_link_setup_gnu_properties): Likewise.
+ * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Likewise.
+ * targets.c: Remove x86 NaCl target vectors.
+ * bfd-in2.h: Regenerated.
+ * configure: Likewise.
+
+2020-06-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-tic6x.c (elf32_tic6x_size_dynamic_sections): Call
+ _bfd_elf_add_dynamic_tags.
+
+2020-06-29 Alan Modra <amodra@gmail.com>
+
+ * peXXigen.c (_bfd_XXi_slurp_codeview_record): Properly check
+ return value of bfd_bread. Don't read more than requested length.
+ Sanity check length. Properly terminate file name.
+
+2020-06-29 Alan Modra <amodra@gmail.com>
+
+ * arc-got.h: Use C style comments.
+ * coff-z80.c: Likewise.
+ * elf32-csky.c: Likewise.
+ * peXXigen.c: Likewise.
+ * elf32-m32c.c (m32c_elf_relax_delete_bytes): Remove commented out
+ code.
+
+2020-06-26 Pat Bernardi <bernardi@adacore.com>
+
+ * elf32-m68k.c (m68k_elf_merge_obj_attributes): New function.
+ (elf32_m68k_merge_private_bfd_data): Merge GNU attributes.
+
+2020-06-26 Alan Modra <amodra@gmail.com>
+
+ * elfxx-riscv.c (struct priv_spec_t, priv_specs),
+ (riscv_get_priv_spec_class, riscv_get_priv_spec_class_from_numbers),
+ (riscv_get_priv_spec_name): Move to..
+ * cpu-riscv.c: ..here.
+ (riscv_get_priv_spec_class_from_numbers): Don't xmalloc temp buffer.
+ Use %u to print unsigned numbers.
+
+2020-06-24 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * cpu-riscv.c (riscv_scan): Don't allow shorter matches using the
+ default architecture.
+
+2020-06-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/26083
+ * elf32-csky.c (csky_elf_size_dynamic_sections): Call
+ _bfd_elf_add_dynamic_tags.
+
+2020-06-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/26083
+ * elf32-cris.c (elf_cris_size_dynamic_sections): Call
+ _bfd_elf_add_dynamic_tags.
+
+2020-06-24 Alan Modra <amodra@gmail.com>
+
+ * vms-alpha.c (_bfd_vms_slurp_etir <ETIR__C_OPR_ASH>): Implement
+ shifts without undefined behaviour.
+
+2020-06-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (elf_link_hash_table): Add dt_pltgot_required and
+ dt_jmprel_required.
+ (_bfd_elf_add_dynamic_tags): New.
+ * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Call
+ _bfd_elf_add_dynamic_tags.
+ * elf32-arc.c (elf_arc_size_dynamic_sections): Likewise.
+ * elf32-bfin.c (elf32_bfinfdpic_size_dynamic_sections): Likewise.
+ * elf32-cr16.c (_bfd_cr16_elf_size_dynamic_sections): Likewise.
+ * elf32-frv.c (elf32_frvfdpic_size_dynamic_sections): Likewise.
+ * elf32-lm32.c (lm32_elf_size_dynamic_sections): Likewise.
+ * elf32-m32r.c (m32r_elf_size_dynamic_sections): Likewise.
+ * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
+ * elf32-microblaze.c (microblaze_elf_size_dynamic_sections):
+ Likewise.
+ * elf32-nds32.c (nds32_elf_size_dynamic_sections): Likewise.
+ * elf32-nios2.c (nios2_elf32_size_dynamic_sections): Likewise.
+ * elf32-or1k.c (or1k_elf_size_dynamic_sections): Likewise.
+ * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
+ * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Likewise.
+ * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
+ * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
+ * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
+ * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections):
+ Likewise.
+ * elfnn-riscv.c (riscv_elf_size_dynamic_sections): Likewise.
+ * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): Likewise.
+ * elf32-arm.c (elf32_arm_size_dynamic_sections): Call
+ _bfd_elf_maybe_vxworks_add_dynamic_tags.
+ * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
+ * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections):
+ Likewise.
+ * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Likewise.
+ (_bfd_x86_elf_size_dynamic_sections): Likewise.
+ * elfxx-x86.h (elf_x86_link_hash_table): Remove dt_reloc,
+ dt_reloc_sz and dt_reloc_ent.
+ * elf-vxworks.c (_bfd_elf_maybe_vxworks_add_dynamic_tags): New.
+ * elf-vxworks.h (_bfd_elf_maybe_vxworks_add_dynamic_tags):
+ Likewise.
+ * elf32-hppa.c (elf32_hppa_link_hash_table_create): Set
+ etab.dt_pltgot_required.
+ (elf32_hppa_size_dynamic_sections): Call
+ _bfd_elf_add_dynamic_tags.
+ * elf32-metag.c (elf_metag_link_hash_table_create): Set
+ etab.dt_pltgot_required.
+ (elf_metag_size_dynamic_sections): Call _bfd_elf_add_dynamic_tags.
+ * elf32-sh.c (sh_elf_link_hash_table_create): Set
+ root.dt_pltgot_required for FDPIC output.
+ (sh_elf_size_dynamic_sections): Call
+ _bfd_elf_maybe_vxworks_add_dynamic_tags.
+ * elf32-xtensa.c (elf_xtensa_link_hash_table_create): Set
+ elf.dt_pltgot_required.
+ (elf_xtensa_size_dynamic_sections): Call
+ _bfd_elf_add_dynamic_tags.
+ * elf64-hppa.c (elf64_hppa_hash_table_create): Set
+ root.dt_pltgot_required.
+ (elf64_hppa_size_dynamic_sections): Call
+ _bfd_elf_add_dynamic_tags.
+ * elfnn-ia64.c (elfNN_ia64_hash_table_create): Set
+ root.dt_pltgot_required.
+ (elfNN_ia64_size_dynamic_sections): Set root.dt_jmprel_required
+ for rel_pltoff_sec. Call _bfd_elf_add_dynamic_tags.
+ * elflink.c (_bfd_elf_add_dynamic_tags): New.
+
+2020-06-22 Saagar Jha <saagar@saagarjha.com>
+
+ * mach-o.c: Support the new load commands by reading a linkedit
+ data command for them.
+
+2020-06-22 Nelson Chu <nelson.chu@sifive.com>
+
+ * elfxx-riscv.c (struct priv_spec_t priv_specs[]): Move them from
+ opcodes/riscv-opc.c to bfd/elfxx-riscv.c, since we need it in linker.
+ (riscv_get_priv_spec_class): Likewise.
+ (riscv_get_priv_spec_name): Likewise.
+ (riscv_get_priv_spec_class_from_numbers): New function, convert
+ the version numbers into string, then call riscv_get_priv_spec_class
+ to get the priv spec class.
+ * elfxx-riscv.h (riscv_get_priv_spec_class): Move forward declaration
+ from include/opcode/riscv.h to bfd/elfxx-riscv.h.
+ (riscv_get_priv_spec_name): Likewise.
+ (riscv_get_priv_spec_class_from_numbers): New forward declaration.
+ (opcode/riscv.h): Include it in the header rather than elfxx-riscv.c.
+ * elfnn-riscv.c (riscv_merge_attributes): Get the priv spec classes
+ of input and output objects form their priv spec attributes by
+ riscv_get_priv_spec_class_from_numbers. Report warning rather than
+ errors when linking objects with differnet priv spec versions. We do
+ know v1.9.1 may have conflicts to other versions, so report the
+ warning, too. After that, update the output priv spec version to the
+ newest one so far.
+
+2020-06-22 Nelson Chu <nelson.chu@sifive.com>
+
+ * elfnn-riscv.c (riscv_merge_attributes): Once we meet one of the
+ priv attributes, we will check the conflicts for all of them (major,
+ minor and revision), and then set the priv_attrs_merged to TRUE to
+ indicate that we have handled all of the priv attributes. Remove
+ the unused boolean priv_may_conflict, in_priv_zero and out_priv_zero.
+
+2020-06-21 Alan Modra <amodra@gmail.com>
+
+ PR 26132
+ * configure.ac: Disable plugins by default for some targets.
+ * plugin.c: Comment typo fix.
+ * configure: Regenerate.
+
+2020-06-19 Nick Clifton <nickc@redhat.com>
+
+ * plugin.c (try_load_plugin): Suppress the error message about
+ being unable to open a plugin if creating a list of viable
+ plugins.
+
+2020-06-16 Alan Modra <amodra@gmail.com>
+
+ * aout-tic30.c: Delete file.
+ * Makefile.am (BFD32_BACKENDS): Remove aout-tic30.lo.
+ (BFD32_BACKENDS_CFILES): Remove aout-tic30.c.
+ * config.bfd (c30-*-*aout*, tic30-*-*aout*): Remove entry.
+ (xc16x-*-elf): Sort properly.
+ * configure.ac: Remove tic30_aout_vec.
+ * targets.c: Likewise.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2020-06-15 Max Filippov <jcmvbkbc@gmail.com>
+
+ * elf32-xtensa.c (XSHAL_ABI, XTHAL_ABI_UNDEFINED)
+ (XTHAL_ABI_WINDOWED, XTHAL_ABI_CALL0): New macros.
+ (elf32xtensa_abi): New global variable.
+ (xtensa_abi_choice): New function.
+ (elf_xtensa_create_plt_entry): Use xtensa_abi_choice instead of
+ XSHAL_ABI to select PLT code.
+
+2020-06-15 Roland McGrath <mcgrathr@google.com>
+
+ * elflink.c (bfd_elf_define_start_stop): Use start_stop_visibility
+ field of bfd_link_info.
+
+2020-06-15 Alan Modra <amodra@gmail.com>
+
+ * config.bfd: Obsolete powerpcle-*-pe targets.
+
+2020-06-15 Alan Modra <amodra@gmail.com>
+
+ PR 26103
+ * elflink.c (elf_link_add_archive_symbols): Exclude undefined
+ symbols that were defined in discarded sections.
+ * cofflink.c (coff_link_check_archive_element): Likewise.
+ (coff_link_add_symbols): Set indx to -3 for symbols defined in
+ discarded sections.
+ (_bfd_coff_write_global_sym): Don't emit such symbols.
+ libcoff-in.h (struct coff_link_hash_entry): Update indx comment.
+ libcoff.h: Regenerate.
+
+2020-06-11 Alan Modra <amodra@gmail.com>
+
+ PR 26107
+ * pdp11.c (is_stab): Replace legacy "index" function with "strchr".
+
+2020-06-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfnn-ia64.c (elfNN_ia64_link_hash_table): Remove reltext.
+ (allocate_dynrel_entries): Set DF_TEXTREL instead of reltext.
+ (elfNN_ia64_size_dynamic_sections): Check DF_TEXTREL instead
+ of reltext.
+
+2020-06-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/26094
+ * elflink.c (bfd_elf_define_start_stop): Handle common symbols.
+ Clear verinfo.verdef.
+
+2020-06-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/18801
+ * elf-bfd.h (elf_link_hash_table): Add ifunc_resolvers.
+ (_bfd_elf_allocate_ifunc_dyn_relocs): Remove the
+ bfd_boolean * argument. Set ifunc_resolvers if there are IFUNC
+ resolvers.
+ * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
+ Set ifunc_resolvers if there are FUNC resolvers.
+ * elf64-ppc.c (ppc_link_hash_table): Remove local_ifunc_resolver.
+ (build_global_entry_stubs_and_plt): Replace local_ifunc_resolver
+ with elf.ifunc_resolvers.
+ (write_plt_relocs_for_local_syms): Likewise.
+ (ppc64_elf_relocate_section): Likewise.
+ (ppc64_elf_finish_dynamic_sections): Likewise.
+ * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
+ Updated.
+ * elfxx-x86.c (elf_x86_allocate_dynrelocs): Likewise.
+ (_bfd_x86_elf_size_dynamic_sections): Check elf.ifunc_resolvers
+ instead of readonly_dynrelocs_against_ifunc.
+ * elfxx-x86.h (elf_x86_link_hash_table): Remove
+ readonly_dynrelocs_against_ifunc.
+
+2020-06-09 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (struct ppc_link_hash_table): Delete
+ maybe_local_ifunc_resolver field.
+ (build_global_entry_stubs_and_plt): Set local_ifunc_resolver in
+ cases where maybe_local_ifunc_resolver was set.
+ (ppc64_elf_relocate_section): Likewise.
+ (ppc64_elf_finish_dynamic_sections): Downgrade ifunc with textrel
+ error to a warning.
+
+2020-06-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (elf_link_hash_entry): Add tlsdesc_plt and
+ tlsdesc_got.
+ * elf32-arm.c (elf32_arm_link_hash_table): Remove tlsdesc_plt
+ and dt_tlsdesc_got.
+ (elf32_arm_size_dynamic_sections): Updated. Clear
+ root.tlsdesc_plt for DF_BIND_NOW.
+ (elf32_arm_finish_dynamic_sections): Updated.
+ (elf32_arm_output_arch_local_syms): Likewise.
+ * elf32-nds32.c (nds32_elf_size_dynamic_sections): Updated.
+ Clear root.tlsdesc_plt for DF_BIND_NOW.
+ (nds32_elf_finish_dynamic_sections): Updated.
+ * elf32-nds32.h (elf_nds32_link_hash_table): Remove
+ dt_tlsdesc_plt and dt_tlsdesc_got.
+ * elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Updated.
+ * elfnn-aarch64.c (elf_aarch64_link_hash_table): Remove
+ tlsdesc_plt and dt_tlsdesc_got.
+ (elfNN_aarch64_allocate_dynrelocs): Updated.
+ (elfNN_aarch64_finish_dynamic_sections): Likewise.
+ (elfNN_aarch64_size_dynamic_sections): Updated. Clear
+ root.tlsdesc_plt for DF_BIND_NOW. Don't check DF_BIND_NOW
+ twice.
+ * elfxx-x86.c (elf_x86_allocate_dynrelocs): Updated.
+ (_bfd_x86_elf_size_dynamic_sections): Likewise.
+ (_bfd_x86_elf_finish_dynamic_sections): Likewise.
+ * elfxx-x86.h (elf_x86_link_hash_table): Remove tlsdesc_plt and
+ tlsdesc_got.
+
+2020-06-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-tic6x.c (elf32_bed): Defined the default to
+ elf32_tic6x_bed.
+
+2020-06-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf64-hppa.c (elf64_hppa_link_hash_table): Remove plt_sec and
+ plt_rel_sec.
+ (elf64_hppa_check_relocs): Replace plt_sec/plt_rel_sec with
+ root.splt/root.srelplt.
+ (elf64_hppa_create_dynamic_sections): Likewise.
+ (elf64_hppa_size_dynamic_sections): Likewise.
+ (elf64_hppa_finish_dynamic_symbol): Likewise.
+ (elf_hppa_final_link): Likewise.
+ (elf_hppa_final_link_relocate): Likewise.
+
+2020-06-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Updated.
+ * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Remove
+ is_vxworks.
+
+2020-06-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (elf_target_os): New.
+ (elf_link_hash_table): Add target_os.
+ (elf_backend_data): Add target_os.
+ * elf32-arm.c (elf32_arm_link_hash_table): Remove vxworks_p,
+ symbian_p and nacl_p.
+ (create_got_section): Updated.
+ (elf32_arm_create_dynamic_sections): Likewise.
+ (arm_type_of_stub): Likewise.
+ (elf32_arm_create_or_find_stub_sec): Likewise.
+ (elf32_arm_allocate_plt_entry): Likewise.
+ (elf32_arm_populate_plt_entry): Likewise.
+ (elf32_arm_final_link_relocate): Likewise.
+ (elf32_arm_check_relocs): Likewise.
+ (allocate_dynrelocs_for_symbol): Likewise.
+ (elf32_arm_finish_dynamic_symbol): Likewise.
+ (elf32_arm_finish_dynamic_sections): Likewise.
+ (elf32_arm_output_plt_map_1): Likewise.
+ (elf32_arm_output_arch_local_syms): Likewise.
+ (elf32_arm_add_symbol_hook): Likewise.
+ (elf32_arm_nacl_link_hash_table_create): Likewise.
+ (elf32_arm_vxworks_link_hash_table_create): Likewise.
+ (elf32_arm_symbian_link_hash_table_create): Likewise.
+ (ELF_TARGET_OS): New.
+ * elf32-i386.c (elf_i386_arch_bed): Removed.
+ (elf_backend_arch_data): Likewise.
+ (elf_i386_solaris_arch_bed): Likewise.
+ (elf_i386_nacl_arch_bed): Likewise.
+ (elf_i386_vxworks_arch_bed): Likewise.
+ (elf_i386_relocate_section): Updated.
+ (elf_i386_finish_dynamic_sections): Likewise.
+ (elf_i386_get_synthetic_symtab): Likewise.
+ (elf_i386_link_setup_gnu_properties): Likewise.
+ (ELF_TARGET_OS): New.
+ * elf32-mips.c (ELF_TARGET_OS): New.
+ * elf32-ppc.c (ppc_elf_link_hash_table): Remove is_vxworks.
+ (ppc_elf_create_got): Updated.
+ (ppc_elf_create_dynamic_sections): Likewise.
+ (ppc_elf_check_relocs): Likewise.
+ (ppc_elf_adjust_dynamic_symbol): Likewise.
+ (ppc_elf_size_dynamic_sections): Likewise.
+ (ppc_elf_relocate_section): Likewise.
+ (ppc_elf_finish_dynamic_sections): Likewise.
+ (ppc_elf_vxworks_link_hash_table_create): Likewise.
+ (ELF_TARGET_OS): New.
+ * elf32-sh.c (elf_sh_link_hash_table): Remove vxworks_p.
+ (sh_elf_link_hash_table_create): Updated.
+ (sh_elf_create_dynamic_sections): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (sh_elf_size_dynamic_sections): Likewise.
+ (sh_elf_relocate_section): Likewise.
+ (sh_elf_finish_dynamic_symbol): Likewise.
+ (sh_elf_finish_dynamic_sections): Likewise.
+ (ELF_TARGET_OS): New.
+ * elf32-sparc.c (elf32_sparc_vxworks_link_hash_table_create):
+ Removed.
+ (bfd_elf32_bfd_link_hash_table_create): Likewise.
+ (ELF_TARGET_OS): New.
+ * elf64-x86-64.c (elf_x86_64_arch_bed): Removed.
+ (elf_x86_64_solaris_arch_bed): Likewise.
+ (elf_x86_64_nacl_arch_bed): Likewise.
+ (elf_x86_64_finish_dynamic_sections): Updated.
+ (elf_x86_64_get_synthetic_symtab): Likewise.
+ (elf_x86_64_link_setup_gnu_properties): Likewise.
+ (ELF_TARGET_OS): New.
+ * elflink.c (_bfd_elf_link_hash_table_init): Initialize
+ target_o.
+ * elfxx-mips.c (mips_elf_link_hash_table): Remove is_vxworks.
+ (MIPS_ELF_REL_DYN_NAME): Updated.
+ (ELF_MIPS_GP_OFFSET): Likewise.
+ (mips_elf_create_local_got_entry): Likewise.
+ (mips_elf_allocate_dynamic_relocations): Likewise.
+ (mips_elf_count_got_symbols): Likewise.
+ (is_gott_symbol): Likewise.
+ (mips_elf_calculate_relocation): Likewise.
+ (mips_elf_create_dynamic_relocation): Likewise.
+ (_bfd_mips_elf_check_relocs): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
+ (mips_elf_lay_out_got): Likewise.
+ (mips_elf_set_plt_sym_value): Likewise.
+ (_bfd_mips_elf_size_dynamic_sections): Likewise.
+ (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
+ (_bfd_mips_elf_finish_dynamic_sections): Likewise.
+ (_bfd_mips_elf_final_link): Likewise.
+ (_bfd_mips_init_file_header): Likewise.
+ * elfxx-sparc.c (_bfd_sparc_elf_create_dynamic_sections):
+ Likewise.
+ (allocate_dynrelocs): Likewise.
+ (_bfd_sparc_elf_size_dynamic_sections): Likewise.
+ (_bfd_sparc_elf_relocate_section): Likewise.
+ (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
+ (sparc_finish_dyn): Likewise.
+ (_bfd_sparc_elf_finish_dynamic_sections): Likewise.
+ * elfxx-target.h (ELF_TARGET_OS): New.
+ (elfNN_bed): Add ELF_TARGET_OS.
+ * elfxx-x86.c (elf_x86_allocate_dynrelocs): Updated.
+ (_bfd_x86_elf_link_hash_table_create): Likewise.
+ (_bfd_x86_elf_size_dynamic_sections): Likewise.
+ (_bfd_x86_elf_finish_dynamic_sections): Likewise.
+ (_bfd_x86_elf_adjust_dynamic_symbol): Likewise.
+ (_bfd_x86_elf_link_setup_gnu_properties): Likewise.
+ * elfxx-x86.h (elf_x86_target_os): Removed.
+ (elf_x86_backend_data): Likewise.
+ (get_elf_x86_backend_data): Likewise.
+ (elf_x86_link_hash_table): Remove target_os.
+
+2020-06-06 Alan Modra <amodra@gmail.com>
+
+ * reloc.c: Rename
+ BFD_RELOC_PPC64_GOT_TLSGD34 to BFD_RELOC_PPC64_GOT_TLSGD_PCREL34,
+ BFD_RELOC_PPC64_GOT_TLSLD34 to BFD_RELOC_PPC64_GOT_TLSLD_PCREL34,
+ BFD_RELOC_PPC64_GOT_TPREL34 to BFD_RELOC_PPC64_GOT_TPREL_PCREL34,
+ BFD_RELOC_PPC64_GOT_DTPREL34 to BFD_RELOC_PPC64_GOT_DTPREL_PCREL34.
+ * elf64-ppc.c: Update throughout for reloc renaming.
+ (ppc64_elf_reloc_name_lookup): Handle old reloc names.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+
+2020-06-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/26080
+ * elf32-bfin.c (bfinfdpic_relocate_section): Skip non SEC_ALLOC
+ section.
+
+2020-06-05 Nick Clifton <nickc@redhat.com>
+
+ * pdp11.c (aout_link_add_symbols): Fix use before initialisation
+ bug.
+
+2020-06-05 Nelson Chu <nelson.chu@sifive.com>
+
+ * elfnn-riscv.c (riscv_merge_attributes): Add new boolean
+ priv_may_conflict, in_priv_zero and out_priv_zero to decide
+ whether the object can be linked according to it's priv
+ attributes. The object without any priv spec attributes can
+ be linked with others. If the first input object doesn't contain
+ any priv attributes, then we need to copy the setting from the
+ next input one. Also report more detailed error messages to user.
+
+2020-06-04 Stephen Casner <casner@acm.org>
+
+ Extend pdp11-aout symbol table format to accommodate .stab
+ symbols and implement correct handling of them.
+
+ * pdp11.c (pdp11_external_nlist): Repurposed e_unused to e_desc.
+ (N_STAB, is_stab): Needed new function is_stab to disambiguate
+ normal vs. .stab symbol table type values, replacing N_STAB mask.
+ (translate_from_native_sym_flags): Determine correct section for
+ different .stab types.
+ (translate_to_native_sym_flags): Leave .stab types intact.
+ (translate_symbol_table): Error if symbol indicates overlay;
+ store desc field from .stab symbols.
+ (write_syms): Output desc field with symbol.
+ (aout_link_check_ar_symbols): Skip .stab symbols.
+ (aout_link_add_symbols): Correctly distinguish .stab symbols.
+ (aout_link_write_other_symbol): Write 0 for desk and ovly fields.
+ (aout_link_write_symbols): Write 0 for desk and ovly fields;
+ correctly distinguish .stab symbols and select calculate their
+ section and value; and copy desc and ovly fields from input symbol
+ to output symbol.
+
+2020-06-04 Stephen Casner <casner@acm.org>
+
+ * aoutx.h (translate_symbol_table): Comment had external and
+ internal swapped.
+ * pdp11.c (translate_symbol_table): Likewise.
+
+2020-06-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-x86.h (elf_x86_link_hash_table): Remove target_id.
+ (is_x86_elf): Check elf.hash_table_id instead of target_id.
+ * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Updated.
+
+2020-06-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/26080
+ * elf-m10300.c (mn10300_elf_relocate_section): Resolve relocation
+ in debug section against symbol defined in shared library to 0.
+ * elf32-i386.c (elf_i386_check_relocs): Remove SEC_ALLOC check.
+ * elf32-lm32.c (lm32_elf_check_relocs): Likewise.
+ * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
+ * elf32-nds32.c (nds32_elf_check_relocs): Likewise.
+ * elf32-nios2.c (nios2_elf32_check_relocs): Likewise.
+ * elf32-or1k.c (or1k_elf_check_relocs): Likewise.
+ * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
+ * elf32-sh.c (sh_elf_check_relocs): Likewise.
+ * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
+ * elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
+ * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
+ * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
+ * elf32-vax.c (elf_vax_check_relocs): Set non_got_ref for non-GOT
+ reference.
+ (elf_vax_adjust_dynamic_symbol): Generate a copy reloc only if
+ there is non-GOT reference.
+ * elflink.c (_bfd_elf_link_check_relocs): Skip non-loaded,
+ non-alloced sections.
+
+2020-06-03 Stephen Casner <casner@acm.org>
+
+ Copy several years of fixes from bfd/aoutx.h to bfd/pdp11.c.
+
+ * pdp11.c (some_aout_object_p): 4c1534c7a2a - Don't set EXEC_P for
+ files with relocs.
+ (aout_get_external_symbols): 6b8f0fd579d - Return if count is zero.
+ 0301ce1486b PR 22306 - Handle stringsize of zero, and error for any
+ other size that doesn't qcover the header word.
+ bf82069dce1 PR 23056 - Allocate an extra byte at the end of the
+ string table, and zero it.
+ (translate_symbol_table): 0d329c0a83a PR 22887 - Print an error
+ message and set bfd_error on finding an invalid name string offset.
+ (add_to_stringtab): INLINE -> inline
+ (pdp11_aout_swap_reloc_in): 116acb2c268 PR 22887 - Correct r_index
+ bound check.
+ (squirt_out_relocs): e2996cc315d PR 20921 - Check for and report
+ any relocs that could not be recognised.
+ 92744f05809 PR 20929 - Check for relocs without an associated symbol.
+ (find_nearest_line): 808346fcfcf PR 23055 - Check that the symbol
+ name exists and is long enough, before attempting to see if it is
+ for a .o file.
+ c3864421222 - Correct case for N_SO being the last symbol.
+ 50455f1ab29 PR 20891 - Handle the case where the main file name
+ and the directory name are both empty.
+ e82ab856bb4 PR 20892 - Handle the case where function name is empty.
+ (aout_link_add_symbols): e517df3dbf7 PR 19629 - Check for out of
+ range string table offsets.
+ 531336e3a0b PR 20909 - Fix off-by-one error in check for an
+ illegal string offset.
+ (aout_link_includes_newfunc): Add comment.
+ (pdp11_aout_link_input_section): ad756e3f9e6 - Return with an error
+ on unexpected relocation type rather than ASSERT.
+
+2020-06-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/26066
+ * elf32-nios2.c (nios2_elf32_size_dynamic_sections): Call
+ _bfd_elf_maybe_set_textrel to set DF_TEXTREL.
+
+2020-06-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/26066
+ * elf32-nios2.c (nios2_elf32_check_relocs): Skip non-loaded,
+ non-alloced sections.
+
+2020-06-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-frv.c (elf32_frv_relocate_section): Don't generate
+ dynamic relocations for non SEC_ALLOC sections.
+
+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>
+
+ * elf32-arc.c (elf_arc_relocate_section): Don't generate dynamic
+ relocations for non SEC_ALLOC sections.
+
+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 26069
+ * 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