X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=e01a010b0968a9c4e04113bc8cc779cc601be7a2;hb=a05b9f5e1eb8f01eea23eff3902fa57f1f28a4e1;hp=0319fa7f6dbda4833e616abe4a1fcb6d18d591a9;hpb=7b4ae824289504c173a597e86a00ceab452095b7;p=binutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0319fa7f6db..e01a010b096 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,831 @@ +2018-07-30 Nick Clifton + + PR 22706 + * elf32-sh.c (sh_elf_relocate_section): When processing + translation relocs, fail if the relocation offset is too small. + Replace BFD_ASSERTs with more helpful error messages. + +2018-07-30 Andrew Jenner + + * Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES): Add C-SKY. + (BFD32_BACKENDS, BFD_BACKENDS_CFILES): Likewise. + * Makefile.in: Regenerated. + * archures.c (enum bfd_architecture): Add bfd_arch_csky and + related bfd_mach defines. + (bfd_csky_arch): Declare. + (bfd_archures_list): Add C-SKY. + * bfd-in.h (elf32_csky_build_stubs): Declare. + (elf32_csky_size_stubs): Declare. + (elf32_csky_next_input_section: Declare. + (elf32_csky_setup_section_lists): Declare. + * bfd-in2.h: Regenerated. + * config.bfd: Add C-SKY. + * configure.ac: Likewise. + * configure: Regenerated. + * cpu-csky.c: New file. + * elf-bfd.h (enum elf_target_id): Add C-SKY. + * elf32-csky.c: New file. + * libbfd.h: Regenerated. + * reloc.c: Add C-SKY relocations. + * targets.c (csky_elf32_be_vec, csky_elf32_le_vec): Declare. + (_bfd_target_vector): Add C-SKY target vector entries. + +2018-07-27 John Darrington + + * elf32-s12z.c (ELF_TARGET_ID): Don't define. + +2018-07-27 John Darrington + + * libbfd.c (bfd_getb24, bfd_getl24): New functions. + (bfd_get_24, bfd_put_24): New macros. + * bfd-in2.h: Regenerate. + +2018-07-27 John Darrington + + * elf32-s12z.c (s12z_elf_set_mach_from_flags): Remove comment. + +2018-07-26 Alan Modra + + * elf64-ppc.c (ppc64_elf_size_stubs): Use a ppc_stub_long_branch_r2off + for calls to symbols with STO_PPC64_LOCAL_MASK bits set to 1. + +2018-07-25 Alan Modra + + * elf32-ppc.c (ppc_elf_relax_section): Ignore common or undef locals. + Avoid trashing toff with added when used as a symbol index. + Ignore R_PPC_PLTREL24 addends in unused example code. Avoid + creating unnecessary fixups when relocatable. + +2018-07-25 Alan Modra + + * elf32-arm.c (elf32_arm_nabi_write_core_note): Disable + -Wstringop-truncation warning for gcc-8.0 too. + * elf32-ppc.c (ppc_elf_write_core_note): Likewise. + * elf64-ppc.c (ppc64_elf_write_core_note): Likewise. + * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise. + * elf32-s390.c (elf_s390_write_core_note): Comment fix. + * elf64-s390.c (elf_s390_write_core_note): Likewise. + +2018-07-24 Alan Modra + + PR 23430 + * dwarf2.c (dwarf_debug_section_enum): Fix comment typo. + * elf.c (bfd_section_from_shdr, elf_sort_sections): Likewise. + +2018-07-23 Max Filippov + + * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Move + relocation sections consistency check to always check both + .rela.dyn and .rela.plt when they exist. Rearrange variable + definition and assignment places. + +2018-07-23 Max Filippov + + * elf32-xtensa.c (shrink_dynamic_reloc_sections): Shrink dynamic + relocations section for dynamic undefined weak symbols when + linking a shared object. + +2018-07-23 Tom Tromey + + * elf.c (bfd_get_elf_phdrs): Don't call memcpy with size 0. + +2018-07-21 Eric Botcazou + + * elf32-arm.c (elf32_arm_final_link_relocate) : Small + cleanup for the case of a global symbol that binds locally. Also + install a value in the GOT slot in the case of a local symbol in + a non-PIC link. + +2018-07-20 H.J. Lu + + PR ld/23428 + * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): If the + separate code program header is needed, make sure that the first + read-only PT_LOAD segment has no code by adding a + GNU_PROPERTY_X86_ISA_1_USED note. + +2018-07-20 Chenghua Xu + Maciej W. Rozycki + + * elfxx-mips.c (print_mips_ases): Add MMI extension. + +2018-07-20 Maciej W. Rozycki + + * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Do not + create DT_REL, DT_RELSZ or DT_RELENT dynamic entries if the + dynamic relocation section will be discarded from output. + (_bfd_mips_elf_finish_dynamic_sections) : Assert that + the dynamic relocation section will be retained in output. + +2018-07-18 Maciej W. Rozycki + + * xcofflink.c (xcoff_write_global_symbol): Fix symbol type + checks for defined weak symbols. + +2018-07-17 Maciej W. Rozycki + + * elf32-nds32.c (nds32_elf_relax_loadstore): Use + `bfd_is_abs_symbol' rather than `bfd_is_abs_section' in checking + whether the symbol is absolute. + (nds32_elf_relax_lo12): Likewise. + * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise. + (elfNN_aarch64_check_relocs): Likewise. + * xcofflink.c (xcoff_need_ldrel_p): Likewise. + (bfd_xcoff_import_symbol): Likewise. + (xcoff_write_global_symbol): Likewise. + +2018-07-17 Maciej W. Rozycki + + * linker.c (bfd_is_abs_symbol): New macro. + * bfd-in2.h: Regenerate. + +2018-07-16 Edjunior Barbosa Machado + + * elf-bfd.h (elfcore_write_ppc_tar): Add prototype. + (elfcore_write_ppc_ppr): Likewise. + (elfcore_write_ppc_dscr): Likewise. + (elfcore_write_ppc_ebb): Likewise. + (elfcore_write_ppc_pmu): Likewise. + (elfcore_write_ppc_tm_cgpr): Likewise. + (elfcore_write_ppc_tm_cfpr): Likewise. + (elfcore_write_ppc_tm_cvmx): Likewise. + (elfcore_write_ppc_tm_cvsx): Likewise. + (elfcore_write_ppc_tm_spr): Likewise. + (elfcore_write_ppc_tm_ctar): Likewise. + (elfcore_write_ppc_tm_cppr): Likewise. + (elfcore_write_ppc_tm_cdscr): Likewise. + * elf.c (elfcore_write_ppc_tar): New function. + (elfcore_write_ppc_ppr): Likewise. + (elfcore_write_ppc_dscr): Likewise. + (elfcore_write_ppc_ebb): Likewise. + (elfcore_write_ppc_pmu): Likewise. + (elfcore_write_ppc_tm_cgpr): Likewise. + (elfcore_write_ppc_tm_cfpr): Likewise. + (elfcore_write_ppc_tm_cvmx): Likewise. + (elfcore_write_ppc_tm_cvsx): Likewise. + (elfcore_write_ppc_tm_spr): Likewise. + (elfcore_write_ppc_tm_ctar): Likewise. + (elfcore_write_ppc_tm_cppr): Likewise. + (elfcore_write_ppc_tm_cdscr): Likewise. + (elfcore_write_register_note): Call them. + (elfcore_grok_ppc_tar): New function. + (elfcore_grok_ppc_ppr): Likewise. + (elfcore_grok_ppc_dscr): Likewise. + (elfcore_grok_ppc_ebb): Likewise. + (elfcore_grok_ppc_pmu): Likewise. + (elfcore_grok_ppc_tm_cgpr): Likewise. + (elfcore_grok_ppc_tm_cfpr): Likewise. + (elfcore_grok_ppc_tm_cvmx): Likewise. + (elfcore_grok_ppc_tm_cvsx): Likewise. + (elfcore_grok_ppc_tm_spr): Likewise. + (elfcore_grok_ppc_tm_ctar): Likewise. + (elfcore_grok_ppc_tm_cppr): Likewise. + (elfcore_grok_ppc_tm_cdscr): Likewise. + (elfcore_grok_note): Call them. + +2018-07-11 Maciej W. Rozycki + + * elfxx-mips.c (mips_tls_got_relocs): Use `bfd_link_dll' rather + than `!bfd_link_pic' in determining the dynamic symbol index. + Avoid the index of -1. + (mips_elf_initialize_tls_slots): Likewise. Flatten code by + moving `dyn' to the beginning of the function block. + +2018-07-11 Maciej W. Rozycki + Rich Felker + + PR ld/22570 + * elfxx-mips.c (mips_tls_got_relocs): Use `bfd_link_dll' rather + than `bfd_link_pic' to determine whether dynamic relocations are + to be produced. + (mips_elf_initialize_tls_slots): Likewise. + +2018-07-10 Maciej W. Rozycki + + * elflink.c (bfd_elf_final_link): Rename `remove' local variable + to `remove_section'. + +2018-07-10 Alan Modra + + * elf32-xgate.h: Delete. + * elf32-xgate.c: Delete unnecessary forward declarations, add two + that are now needed. + (xgate_elf_bfd_link_hash_table_create) + (xgate_elf_bfd_link_hash_table_free) + (xgate_elf_set_mach_from_flags, struct xgate_scan_param) + (stub_hash_newfunc, elf32_xgate_add_symbol_hook) + (elf32_xgate_setup_section_lists, elf32_xgate_size_stubs) + (elf32_xgate_build_stubs, elf32_xgate_check_relocs) + (elf32_xgate_relocate_section, _bfd_xgate_elf_set_private_flags) + (elf32_xgate_post_process_headers): Delete. + (elf32_xgate_backend_symbol_processing): New function. + (xgate_elf_ignore_reloc, xgate_elf_special_reloc) + (_bfd_xgate_elf_print_private_bfd_data): Make static. + (ELF_TARGET_ID, elf_info_to_howto, elf_backend_check_relocs) + (elf_backend_relocate_section, elf_backend_object_p) + (elf_backend_final_write_processing, elf_backend_can_gc_sections) + (elf_backend_post_process_headers, elf_backend_add_symbol_hook) + (bfd_elf32_bfd_link_hash_table_create) + (bfd_elf32_bfd_set_private_flags) + (xgate_stub_hash_lookup): Don't define. + (elf_backend_symbol_processing): Define. + * elf-bfd.h (elf_target_id): Delete XGATE_ELF_DATA. + +2018-07-09 Maciej W. Rozycki + + * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Don't set + `->needs_lazy_stub' if the stubs output section is the absolute + section. + +2018-07-09 H.J. Lu + + PR ld/23388 + * configure.ac: Use changequote for "i[3-7]86-*-linux-*". + * configure: Regenerated. + +2018-07-09 Alan Modra + + * elf32-m68hc1x.c (elf32_m68hc11_post_process_headers): Call + _bfd_elf_post_process_headers. + +2018-07-06 Max Filippov + + * elf32-xtensa.c (elf_xtensa_allocate_dynrelocs): Don't allocate + space for dynamic relocation for undefined weak symbol. + (elf_xtensa_relocate_section): Don't emit R_XTENSA_RELATIVE + relocation for undefined weak symbols. + (shrink_dynamic_reloc_sections): Don't shrink dynamic relocation + section for relocations against undefined weak symbols. + +2018-07-06 Alan Hayward + + * elf.c (elfcore_grok_aarch_sve): New function. + (elfcore_grok_note): Check for Aarch64 SVE. + (elfcore_write_aarch_sve): New function. + (elfcore_write_register_note): Check for Aarch64 SVE. + * elf-bfd.h(elfcore_grok_aarch_sve): New declaration. + +2018-07-06 Alan Modra + + * elf32-arm.c (elf32_arm_nabi_write_core_note): Don't use + DIAGNOTIC_PUSH and DIAGNOSTIC_POP unconditionally. + * elf32-ppc.c (ppc_elf_write_core_note): Likewise. + * elf32-s390.c (elf_s390_write_core_note): Likewise. + * elf64-ppc.c (ppc64_elf_write_core_note): Likewise. + * elf64-s390.c (elf_s390_write_core_note): Likewise. + * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise. + +2018-07-05 Jim Wilson + + * config.bfd (riscv32*-*-*): Renamed from riscv32-*-*. + (riscv64*-*-*): Likewise. + (riscv-*-*): Add as an alias for riscv32*-*-*. + +2018-07-05 H.J. Lu + + PR ld/23372 + * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove x86 + ISA properties with empty bits. + +2018-07-05 Nick Clifton + + * po/ru.po: Updated Russian translation. + +2018-07-05 Alan Modra + + * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Update prototype. + * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Return error + on mismatch. Remove "warning: " from messages. Track last bfd + used to set tags. + (ppc_elf_merge_obj_attributes): Likewise. Handle status from + _bfd_elf_ppc_merge_fp_attributes. + * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Handle status + from _bfd_elf_ppc_merge_fp_attributes. + +2018-07-04 H.J. Lu + + * Makefile.am (bfdinclude_HEADERS): Add $(INCDIR)/diagnostics.h. + * Makefile.in: Regenerated. + +2018-07-03 Alan Modra + + * elflink.c (bfd_elf_final_link): Remove zero size .gnu.attributes + sections. + +2018-07-03 Alan Modra + + * elf-bfd.h (ATTR_TYPE_FLAG_ERROR, ATTR_TYPE_HAS_ERROR): Define. + * elf-attrs.c (is_default_attr): Handle ATTR_TYPE_HAS_ERROR. + * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Use + ATTR_TYPE_FLAG_INT_VAL. Set ATTR_TYPE_HAS_ERROR on finding + incompatible attribute. + (ppc_elf_merge_obj_attributes): Likewise. Return + _bfd_elf_merge_object_attributes result. + * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Return + _bfd_elf_merge_object_attributes result. + +2018-07-03 Alan Modra + + PR 17550 + * elflink.c (_bfd_elf_fix_symbol_flags): Hide dynamic symbols + in discarded sections. + +2018-07-02 Maciej W. Rozycki + + * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Set + `mark' for symbols created from `mips_elf_dynsym_rtproc_names' + list. + +2018-07-02 Maciej W. Rozycki + + * elf64-mips.c (micromips_elf64_howto_table_rel): Add + R_MICROMIPS_HI0_LO16, R_MICROMIPS_TLS_GD, R_MICROMIPS_TLS_LDM, + R_MICROMIPS_TLS_DTPREL_HI16, R_MICROMIPS_TLS_DTPREL_LO16, + R_MICROMIPS_TLS_GOTTPREL, R_MICROMIPS_TLS_TPREL_HI16, + R_MICROMIPS_TLS_TPREL_LO16, R_MICROMIPS_GPREL7_S2 and + R_MICROMIPS_PC23_S2 relocation entries. + (micromips_elf64_howto_table_rela): Likewise. + (micromips_reloc_map): Likewise. + * elfn32-mips.c (elf_micromips_howto_table_rel): Likewise. + (elf_micromips_howto_table_rela): Likewise. + (micromips_reloc_map): Likewise. + +2018-07-02 H.J. Lu + + PR ld/23324 + * elf64-x86-64.c (elf_x86_64_relocate_section): Clear the + R_X86_64_converted_reloc_bit bit. + +2018-07-02 Jeff Muizelaar + Tom Tromey + + PR 13157 + PR 21787 + * mach-o.c (bfd_mach_o_fat_close_and_cleanup): New function. + (bfd_mach_o_close_and_cleanup): Redefine. + * archive.c (_bfd_unlink_from_archive_parent): New function, + extracted from.. + (_bfd_archive_close_and_cleanup): ..here. + (bfd_generic_archive_p): Do not clear archive's format. + * libbfd-in.h (_bfd_unlink_from_archive_parent): Declare. + * libbfd.h: Regenerate. + +2018-07-02 Thomas Preud'homme + + * archures.c (bfd_mach_arm_5TEJ, bfd_mach_arm_6, bfd_mach_arm_6KZ, + bfd_mach_arm_6T2, bfd_mach_arm_6K, bfd_mach_arm_7, bfd_mach_arm_6M, + bfd_mach_arm_6SM, bfd_mach_arm_7EM, bfd_mach_arm_8, bfd_mach_arm_8R, + bfd_mach_arm_8M_BASE, bfd_mach_arm_8M_MAIN): Define. + * bfd-in2.h: Regenerate. + * cpu-arm.c (arch_info_struct): Add entries for above new + bfd_mach_arm values. + * elf32-arm.c (bfd_arm_get_mach_from_attributes): Add Tag_CPU_arch to + bfd_mach_arm mapping logic for pre Armv4 and Armv5TEJ and later + architectures. Force assert failure for any new Tag_CPU_arch value. + +2018-07-02 Thomas Preud'homme + + * doc/bfdint.texi: Use command-line consistently when used in a + compount word. + * doc/bfdsumm.texi: Likewise. + +2018-06-29 Maciej W. Rozycki + + * elfxx-mips.c (allocate_dynrelocs): Remove extraneous symbol + visibility check made for undefined weak symbols. + +2018-06-26 Nick Clifton + + * po/uk.po: Updated Ukranian translation. + +2018-06-25 Nick Clifton + + * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_stub_name): Check + for malloc returning NULL. + (_bfd_aarch64_erratum_843419_fixup): Check for + _bfd_aarch64_erratum_835769_stub_name returning NULL. + +2018-06-24 Nick Clifton + + * po/bfd.pot: Regenerate. + +2018-06-24 Nick Clifton + + * version.m4: Update version string to 2.31.51. + * configure: Regenerate. + +2018-06-24 Nick Clifton + + 2.31 branch created. + +2018-06-21 Maciej W. Rozycki + + * elfxx-mips.c (_bfd_mips_elf_compact_eh_encoding) + (_bfd_mips_elf_cant_unwind_opcode): Correct formatting. + +2018-06-21 Maciej W. Rozycki + + * elfxx-mips.c (_bfd_mips_post_process_headers): Keep + EI_ABIVERSION setting together. + +2018-06-21 Maciej W. Rozycki + + * elfxx-mips.c (MIPS_LIBC_ABI_DEFAULT, MIPS_LIBC_ABI_MIPS_PLT) + (MIPS_LIBC_ABI_UNIQUE, MIPS_LIBC_ABI_MIPS_O32_FP64) + (MIPS_LIBC_ABI_MAX): New enumeration constants. + (_bfd_mips_post_process_headers): Use them in place of magic + numbers. + +2018-06-21 Jim Wilson + + * elfnn-riscv.c (riscv_elf_finish_dynamic_symbol): Update comment. + Use SYMBOL_REFERENCES_LOCAL. Add asserts for h->got.offset. + +2018-06-21 Alan Modra + + * doc/Makefile.am (AUTOMAKE_OPTIONS): Add "foreign". + * doc/Makefile.in: Regenerate. + +2018-06-20 Renlin Li + + * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Use PG_OFFSET + to resolve BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC, + BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC, + BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC, + BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC, + BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC, + BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC, + BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC, + BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC. + +2018-06-20 Nick Clifton + + PR 23316 + * opncls.c (get_build_id): Check for a negative or excessive data + size in the build-id note. + +2018-06-20 Nick Clifton + + PR 23299 + * mach-o.c (cputype): New function. + (cpusubtype): New function. + (bfd_mach_o_bfd_print_private_data): New function. Dispalys the + values in the MACH-O file header. + (bfd_mach_o_bfd_copy_private_header_data): Copy the cputype and + cpusubtype fields from the input bfd's mach-o header to the output + bfd. + * mach-o-target.c (bfd_mach_o_bfd_print_private_bfd_data): + Redefine to bfd_mach_o_bfd_print_private_data. + * mach-o.h (bfd_mach_o_bfd_print_private_bfd_data): Prototype. + +2018-06-19 Maciej W. Rozycki + + PR ld/22966 + * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Verify the + `.got.plt' entry referred is in range. + (mips_finish_exec_plt): Correct the range check for `.got.plt' + start. Replace the assertion used for that with a proper error + message. + +2018-06-19 Maciej W. Rozycki + + * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Fix + formatting. + +2018-06-19 Simon Marchi + + * Makefile.am (AUTOMAKE_OPTIONS): Remove 1.11. + (INCLUDES): Rename to ... + (AM_CPPFLAGS): ... this. + * configure.ac: Remove AC_PREREQ. + * doc/Makefile.am (AUTOMAKE_OPTIONS): Remove 1.9, cygnus, add + info-in-builddir no-texinfo.tex. + (info_TEXINFOS): Rename bfd.texinfo to bfd.texi. + * doc/bfd.texinfo: Rename to ... + * doc/bfd.texi: ... this. + * Makefile.in: Re-generate. + * aclocal.m4: Re-generate. + * config.in: Re-generate. + * configure: Re-generate. + * doc/Makefile.in: Re-generate. + +2018-06-18 Mephi + + PR 23297 + * mach-o-x86-64.c (x86_64_howto_table): Add entry for + BFD_RELOC_MACH_O_X86_64_RELOC_TLV. + (bfd_mach_o_x86_64_canonicalize_one_reloc): Handle the new reloc. + (bfd_mach_o_x86_64_swap_reloc_out): Likewise. + * reloc.c (BFD_RELOC_MACH_O_X86_64_TV): New entry. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2018-06-14 Faraz Shahbazker + + * elfxx-mips.c (print_mips_ases): Add GINV extension. + +2018-06-14 H.J. Lu + + PR binutils/23267 + * elf.c (_bfd_elf_get_symbol_version_string): Check if the first + symbol version is base version. + +2018-06-14 Alan Modra + + * elf-bfd.h (struct elf_link_hash_table): Add "dynamic_relocs". + * elflink.c (_bfd_elf_init_2_index_sections): Comment fix. + (_bfd_elf_add_dynamic_entry): Set "dynamic_relocs". + (_bfd_elf_link_renumber_dynsyms): Exclude all section symbols when + "dynamic_relocs" is not set. + * elfxx-mips.c (count_section_dynsyms): Likewise. + +2018-06-14 Alan Modra + + PR 23282 + * bfdio.c (bfd_seek): Optimize away seeks to current position. + +2018-06-13 Scott Egerton + Faraz Shahbazker + + * elfxx-mips.c (print_mips_ases): Add CRC. + +2018-06-08 H.J. Lu + + PR ld/23161 + * elfxx-x86.c (elf_x86_hide_linker_defined): New function. + (_bfd_x86_elf_link_check_relocs): Use it to hide hidden + __bss_start, _end and _edata in shared libraries. + +2018-06-07 Alan Modra + + * elf32-tic6x.c (elf32_tic6x_check_relocs): Reference + __c6xabi_DSBT_BASE explicitly for R_C6000_SBR_* relocs. + +2018-06-05 Alan Modra + + * bfd.c (struct bfd): Update comment on "where" usage. + * bfdio.c (bfd_bwrite, bfd_stat): Use and update "iovec", + "iostream", and "where" from containing archive file. Return + error on NULL iovec. + (bfd_bread): Similarly, and return error attempted out of + bounds archive element access. + (bfd_tell, bfd_flush): Use and update "iovec", "iostream", and + "where" from containing archive file. + (bfd_seek): Likewise. Return error on NULL iovec. Don't + attempt to optimize away seeks. Don't paper over errors by + calling bfd_tell. + (bfd_get_mtime): Call bfd_stat rather than iovec->bstat. + (bfd_get_size): Likewise. + (bfd_mmap): Operate on and use iovec of containing archive + file. Return error on NULL iovec. + * cache.c (bfd_cache_lookup_worker): Abort if working on + archive element bfd. + (cache_bread_1): Delete bfd parameter, add FILE* parameter. + Don't ignore zero byte reads. + (cache_bread): Look up FILE* in cache here. Error on NULL + lookup. + (cache_bwrite): Rename "where" to "from". + (cache_bmmap): Don't handle archive elements. + * coffcode.h (coff_slurp_line_table): Exit early on zero + lineno count. + * bfd-in2.h: Regenerate. + +2018-06-05 Alan Modra + + PR 23254 + * plugin.c (bfd_plugin_open_input): Allow for possibility of + nested archives. Open file again for plugin. + (try_claim): Don't save and restore file position. Close file + if not claimed. + * sysdep.h (O_BINARY): Define. + +2018-06-04 Max Filippov + + * elf32-xtensa.c (xtensa_read_table_entries): Make global. + (compute_fill_extra_space): Drop declaration. Rename function to + xtensa_compute_fill_extra_space. + (compute_ebb_actions, remove_dead_literal): Update references to + compute_fill_extra_space. + +2018-06-04 Volodymyr Arbatov + + * elf32-xtensa.c (elf32xtensa_separate_props): New global + variable. + (xtensa_add_names): New function. + (xtensa_property_section_name): Add new parameter + separate_sections, use it to choose property section name. + (xtensa_get_separate_property_section): New function. + (xtensa_get_property_section): Invoke + xtensa_get_separate_property_section to get individual property + section if it exists, common property section otherwise. + (xtensa_make_property_section): Pass elf32xtensa_separate_props + to xtensa_property_section_name. + +2018-06-04 H.J. Lu + + PR binutils/23146 + * bfd-in.h: Include "diagnostics.h". + * bfd-in2.h: Regenerated. + * elf32-arm.c (elf32_arm_nabi_write_core_note): Use + DIAGNOSTIC_PUSH, DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION and + DIAGNOSTIC_POP to silence GCC 8.1 warnings with + -Wstringop-truncation. + * elf32-ppc.c (ppc_elf_write_core_note): Likewse. + * elf32-s390.c (elf_s390_write_core_note): Likewse. + * elf64-ppc.c (ppc64_elf_write_core_note): Likewse. + * elf64-s390.c (elf_s390_write_core_note): Likewse. + * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewse. + +2018-06-03 Jim Wilson + + PR ld/23244 + * elfnn-riscv.c (riscv_elf_relocate_section) : Check + for and handle an undefined weak with no PLT. + + PR ld/22756 + * elfnn-riscv.c (riscv_relax_delete_bytes): Add versioned_hidden check + to code that ignores duplicate symbols. + +2018-06-01 H.J. Lu + + * version.m4: Bump version to 2.30.52 + * configure: Regenerated. + +2018-06-01 Alan Modra + + * bfd.c (_bfd_error_handler): Arrange for this function to be + declared in bfd-in2.h. + * libbfd-in.h (_bfd_error_handler): Don't declare. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + +2018-05-30 Amaan Cheval + + * config.bfd (x86_64-*-*): Add pei-x86-64 target to x86_64-*-rtems* + This is needed to generate UEFI application image files from ELFs. + +2018-05-28 H.J. Lu + + * elf32-i386.c (elf_i386_lazy_plt): Add plt_tlsdesc_entry, + plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset, + plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and + plt_tlsdesc_got2_insn_end for TLSDESC entry. + (elf_i386_lazy_ibt_plt): Likewise. + (elf_i386_nacl_plt): Likewise. + * elf64-x86-64.c (tlsdesc_plt_entry): Moved and renamed to ... + (elf_x86_64_tlsdesc_plt_entry): This. + (elf_x86_64_lazy_plt): Add plt_tlsdesc_entry, + plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset, + plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and + plt_tlsdesc_got2_insn_end for TLSDESC entry. + (elf_x86_64_lazy_bnd_plt): Likewise. + (elf_x86_64_lazy_ibt_plt): Likewise. + (elf_x32_lazy_ibt_plt): Likewise. + (elf_x86_64_nacl_plt): Likewise. + (elf_x86_64_finish_dynamic_sections): Use plt_tlsdesc_entry, + plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset, + plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and + plt_tlsdesc_got2_insn_end to update TLSDESC entry. + * elfxx-x86.h (elf_x86_lazy_plt_layout): Update comments. + Add plt_tlsdesc_entry, plt_tlsdesc_entry_size, + plt_tlsdesc_got1_offset, plt_tlsdesc_got2_offset, + plt_tlsdesc_got1_insn_end and plt_tlsdesc_got2_insn_end. + (elf_x86_non_lazy_plt_layout): Update comments. + (elf_x86_plt_layout): Likewise. + +2018-05-28 H.J. Lu + + PR ld/23238 + * elf-s390-common.c (elf_s390_add_symbol_hook): Removed. + * elf32-arc.c (elf_arc_add_symbol_hook): Likewise. + (elf_backend_add_symbol_hook): Likewise. + * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise. + (elf_backend_add_symbol_hook): Likewise. + * elf32-s390.c (elf_backend_add_symbol_hook): Likewise. + * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. + (elf_backend_add_symbol_hook): Likewise. + * elf64-s390.c (elf_backend_add_symbol_hook): Likewise. + * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise. + * elfxx-aarch64.h (_bfd_aarch64_elf_add_symbol_hook): Likewise. + (elf_backend_add_symbol_hook): Likewise. + * elf32-arm.c (elf32_arm_add_symbol_hook): Remove STT_GNU_IFUNC + handling. + * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. + * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. + * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. + * elflink.c (elf_link_add_object_symbols): Set + elf_gnu_symbol_ifunc for STT_GNU_IFUNC symbols. + +2018-05-26 H.J. Lu + + PR ld/23194 + * elf-bfd.h (_bfd_elf_link_hide_sym_by_version): New. + * elflink.c (_bfd_elf_link_hide_versioned_symbol): New function. + Extracted from _bfd_elf_link_assign_sym_version. + (_bfd_elf_link_hide_sym_by_version): New function. + (_bfd_elf_link_assign_sym_version): Use + _bfd_elf_link_hide_versioned_symbol. + * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Call + _bfd_elf_link_hide_sym_by_version instead of + bfd_hide_sym_by_version. Don't check unversioned symbol. + +2018-05-25 Alan Modra + + * Makefile.in: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + +2018-05-25 Alan Modra + + * configure.ac (bfd_cv_hidden): Run test with -Werror in CFLAGS. + * configure: Regenerate. + +2018-05-23 H.J. Lu + + * elf64-ppc.c (ppc64_elf_write_core_note): Add ATTRIBUTE_NONSTRING + to data. + +2018-05-22 Alan Modra + + PR 23207 + * elf32-hppa.c (hppa_get_stub_entry): Return NULL when link_sec + is NULL. + (elf32_hppa_size_stubs): Only create stubs for load, alloc, code + sections. + (final_link_relocate): Revert last change. + +2018-05-22 Alan Modra + + PR 23207 + * elf32-hppa.c (final_link_relocate): Don't look for plt call + stubs in non-alloc sections. + +2018-05-21 H.J. Lu + + PR ld/23201 + * aout-target.h (MY_bfd_link_hide_symbol): New. + * aout-tic30.c (MY_bfd_link_hide_symbol): Likewise. + * binary.c (binary_bfd_link_hide_symbol): Likewise. + * coff-alpha.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise. + * coff-mips.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise. + * coff-rs6000.c (_bfd_xcoff_bfd_link_hide_symbol): Likewise. + * coffcode.h (coff_bfd_link_hide_symbol): Likewise. + * elf-bfd.h (_bfd_elf_link_hide_symbol): Likewise. + * elfxx-target.h (bfd_elfNN_bfd_link_hide_symbol): Likewise. + * i386msdos.c (msdos_bfd_link_hide_symbol): Likewise. + * ihex.c (ihex_bfd_link_hide_symbol): Likewise. + * libbfd-in.h (_bfd_nolink_bfd_link_hide_symbol): Likewise. + * linker.c (_bfd_generic_link_hide_symbol): Likewise. + (bfd_link_hide_symbol): Likewise. + * mach-o-target.c (bfd_mach_o_bfd_link_hide_symbol): Likewise. + * mmo.c (mmo_bfd_link_hide_symbol): Likewise. + * pef.c (bfd_pef_bfd_link_hide_symbol): Likewise. + * plugin.c (bfd_plugin_bfd_link_hide_symbol): Likewise. + * ppcboot.c (ppcboot_bfd_link_hide_symbol): Likewise. + * som.c (som_bfd_link_hide_symbol): Likewise. + * srec.c (srec_bfd_link_hide_symbol): Likewise. + * tekhex.c (tekhex_bfd_link_hide_symbol): Likewise. + * vms-alpha.c (vms_bfd_link_hide_symbol): Likewise. + (alpha_vms_bfd_link_hide_symbol): Likewise. + * xsym.c (bfd_sym_bfd_link_hide_symbol): Likewise. + * coff64-rs6000.c (rs6000_xcoff64_vec): Add + _bfd_generic_link_hide_symbol. + (rs6000_xcoff64_aix_vec): Likewise. + * elflink.c (bfd_elf_record_link_assignment): Don't make forced + local symbol dynamic. + (_bfd_elf_link_hide_symbol): New function. + * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't + check root.ldscript_def. + * targets.c (bfd_target): Add _bfd_link_hide_symbol. + (BFD_JUMP_TABLE_LINK): Add NAME##_bfd_link_hide_symbol. + * bfd-in2.h: Regenerated. + * libbfd.h: Likewise. + +2018-05-21 H.J. Lu + + PR binutils/23199 + * elf.c (setup_group): Mark section in a section group with + SHF_GROUP. + +2018-05-18 H.J. Lu + + PR ld/23194 + * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't + set eh->local_ref to 1 if a symbol is versioned and there is a + version script. + +2018-05-18 Kito Cheng + + * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Handle + EF_RISCV_RVE. + +2018-05-18 Jim Wilson + + * elfnn-riscv.c (allocate_dynrelocs): Discard dynamic relocations if + UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (riscv_elf_relocate_section): Don't generate dynamic relocation if + UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (riscv_elf_finish_dynamic_symbol): Likewise. + 2018-05-18 John Darrington * Makefile.am: Add s12z files.