X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=e99de6dbed89b44fa0da36796c7b47610f2f273d;hb=a975c88e6549c508ec86658e6816d7b8f16af13c;hp=6d3673d14c156df81f4ad15c83ae2191cc5e0f5f;hpb=3c568b8afab512d12eb5adcf304e505b1bce644d;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6d3673d14c..e99de6dbed 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,580 @@ +2020-06-04 Stephen Casner + + 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 + + * aoutx.h (translate_symbol_table): Comment had external and + internal swapped. + * pdp11.c (translate_symbol_table): Likewise. + +2020-06-04 H.J. Lu + + * 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 + + 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 + + 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 @@ -8,8 +585,9 @@ 2020-05-19 Gunther Nikl PR 26005 - * elf.c (bfd_section_from_shdr): Replace bfd_malloc + memset with - bfd_zmalloc to allocate memory for the sections_being_created array. + * 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