]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - bfd/ChangeLog
ELF: Consolidate maybe_set_textrel
[thirdparty/binutils-gdb.git] / bfd / ChangeLog
index 90274890ea9776ade95fbc0cc0f479575bc264ed..d215113495f33d77a9b1795b2fb734b1507b75ed 100644 (file)
@@ -1,3 +1,380 @@
+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