X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2FChangeLog;h=785951aa0a5d4e77e86077508dd26b0e30d6b5cc;hb=refs%2Fheads%2Fconcurrent-displaced-stepping-2020-04-01;hp=120fb3864694861500fbdcb7dccadacb612702b6;hpb=a0543b0b4c9cfa0fe1f1484a0eb895243c04cc21;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 120fb38646..785951aa0a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,899 @@ +2020-06-03 Stephen Casner + + 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 + + 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 + + PR ld/26066 + * elf32-nios2.c (nios2_elf32_check_relocs): Skip non-loaded, + non-alloced sections. + +2020-06-03 H.J. Lu + + * elf32-frv.c (elf32_frv_relocate_section): Don't generate + dynamic relocations for non SEC_ALLOC sections. + +2020-06-03 Gunther Nikl + + * 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 + + * elf32-arc.c (elf_arc_relocate_section): Don't generate dynamic + relocations for non SEC_ALLOC sections. + +2020-06-03 H.J. Lu + + * 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 + + 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 + + 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 + + * elfxx-x86.h (GENERATE_DYNAMIC_RELOCATION_P): Silence + -fsanitize=undefined. + +2020-06-03 Alan Modra + + 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 + + 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 + + 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 + + * 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 + + * elf64-bpf.c (bpf_elf_relocate_section): Fix handling of + R_BPF_INSN_{32,64} relocations. + +2020-05-28 Stephen Casner + + * 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 + + 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 + + * plugin.c (try_load_plugin): Extend error message when a plugin + fails to open. + +2020-05-23 Alan Modra + + * bfdio.c (bfd_get_file_size): Don't segfault on NULL arch_header. + +2020-05-22 Alan Modra + + 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 + + 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 + + * 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 + + * 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 + + 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 + + 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 + + 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 + + * 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 + + * 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 + + * 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 + + PR 25713 + * bfdio.c (_bfd_real_fopen): Typo fix. + +2020-05-18 Nick Clifton + + 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 + + * ecoff.c (ecoff_slurp_reloc_table): Malloc external_relocs so + they can be freed without also freeing internal_relocs. + +2020-05-18 Jaydeep Chauhan + + 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 + + * elfnn-riscv.c (elfNN_riscv_mkobject): New function. We need this + to initialize RISC-V tdata. + +2020-05-12 Gunther Nikl + + * aoutx.h (NAME (aout, swap_std_reloc_out)): Reject an unsupported + relocation size. + +2020-05-11 Alan Modra + + * elf64-ppc.c (xlate_pcrel_opt): Handle lxvp and stxvp. + +2020-05-11 Alan Modra + + * elf64-ppc.c: Rename powerxx to power10 throughout. + +2020-05-11 Alan Modra + + 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 ): Only swap in extended + file name from auxents for PE. + +2020-05-04 Gunther Nikl + + * 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 + + PR ld/25665 + * elfnn-aarch64.c (group_sections): Copy implementation from + elf32-arm.c. + +2020-05-01 Alan Modra + + 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 + + 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 + + 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 + + PR 25882 + * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Ignore e_flags + from shared libraries. + +2020-04-29 Max Filippov + + * 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 + + * 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 + + * vms-alpha.c (_bfd_vms_slurp_etir): Correct divide by zero check. + Emit warning message. + +2020-04-27 Tamar Christina + + * 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 + + * 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 + + 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 + + PR binutils/24753 + * compress.c (bfd_get_full_section_contents): Exclude sections with no + content. + +2020-04-21 H.J. Lu + + 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 + + * 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 + + * po/sr.po: Updated Serbian translation. + +2020-04-21 Alan Modra + + * elf32-sh.c (sh_elf_relocate_section): Remove STO_SH5_ISA32 + processing. + +2020-04-20 Stephen Casner + + * 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 + + * elf64-ppc.c (ppc64_elf_size_stubs): Strip relbrlt too. + +2020-04-18 Alan Modra + + * section.c (bfd_is_const_section): Correct test for special + sections. + * bfd-in2.h: Regenerate. + +2020-04-17 Alan Modra + + PR 25842 + * elf.c (_bfd_elf_get_symbol_version_string): Don't segfault on + NULL nodename. + +2020-04-16 Nick Clifton + + 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 + + PR 25827 + * dwarf2.c (scan_unit_for_symbols): Wrap overlong lines. Don't + strdup(0). + +2020-04-15 Fangrui Song + + 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 + + PR 25823 + * peXXigen.c (_bfd_XXi_swap_sym_in ): 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 + Jan W. Jagersma + + * 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 + + PR gas/25768 + * elf.c (assign_section_numbers): Always set .stab sh_entsize to + 12. + +2020-04-14 Stephen Casner + + 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 Nick Clifton