X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=364a36d24b01fc1b44b44726bd4d684c98ae5ff6;hb=5c3261b0e834647cf9eb555320e20871b7854f98;hp=eb62bc3b273f98fa82c2ff3194c1ac5b54895471;hpb=3d13f3e9bda5aada68915f5d958f731ae79ed41d;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index eb62bc3b27..364a36d24b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,773 @@ +2017-10-16 H.J. Lu + + * elf-bfd.h (elf_backend_data): Remove gc_sweep_hook. + * elf32-arm.c (elf32_arm_gc_sweep_hook): Removed. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-bfin.c (bfin_gc_sweep_hook): Likewise. + (bfinfdpic_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-cr16.c (elf32_cr16_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-cris.c (cris_elf_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-lm32.c (lm32_elf_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-m68k.c (elf_m68k_got_entry): Remove elf_m68k_gc_sweep_hook + from comments. + (elf_m68k_remove_got_entry_type): Removed. + (elf_m68k_find_got_entry_ptr): Likewise. + (elf_m68k_remove_got_entry): Likewise. + (elf_m68k_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-mcore.c (mcore_elf_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-metag.c (elf_metag_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-microblaze.c (elf_backend_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-mips.c (elf_backend_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-nds32.c (nds32_elf_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-nios2.c (nios2_elf32_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-or1k.c (or1k_elf_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-ppc.c (ppc_elf_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-sparc.c (elf_backend_gc_sweep_hook): Likewise. + * elf32-tic6x.c (elf32_tic6x_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-tilegx.c (elf_backend_gc_sweep_hook): Likewise. + * elf32-tilepro.c (tilepro_elf_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf64-alpha.c (elf64_alpha_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf64-mips.c (elf_backend_gc_sweep_hook): Likewise. + * elf64-mmix.c (mmix_elf_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf64-ppc.c (elf_backend_gc_sweep_hook): Likewise. + (ppc64_elf_gc_sweep_hook): Likewise. + * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elf64-sparc.c (elf_backend_gc_sweep_hook): Likewise. + * elf64-tilegx.c (elf_backend_gc_sweep_hook): Likewise. + * elflink.c (elf_link_add_object_symbols): Don't call + _bfd_elf_link_check_relocs here. + (gc_sweep_hook_fn): Removed. + (elf_gc_sweep): Remove gc_sweep_hook. + * elfnn-aarch64.c (elfNN_aarch64_gc_sweep_hook): Removed. + (elf_backend_gc_sweep_hook): Likewise. + * elfnn-riscv.c (riscv_elf_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elfxx-mips.c (_bfd_mips_elf_gc_sweep_hook): Likewise. + * elfxx-mips.h (_bfd_mips_elf_gc_sweep_hook): Likewise. + (elf_backend_gc_sweep_hook): Likewise. + * elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Likewise. + * elfxx-sparc.h (_bfd_sparc_elf_gc_sweep_hook): Likewise. + * elfxx-target.h (elf_backend_gc_sweep_hook): Likewise. + (elfNN_bed): Remove elf_backend_gc_sweep_hook. + * elfxx-tilegx.c (tilegx_elf_gc_sweep_hook): Removed. + * elfxx-tilegx.h (tilegx_elf_gc_sweep_hook): Likewise. + +2017-10-14 H.J. Lu + + * elf32-i386.c (elf_i386_backend_data): Removed. + (get_elf_i386_backend_data): Likewise. + (elf_i386_arch_bed): Replace elf_i386_backend_data with + elf_x86_backend_data. + (elf_i386_get_synthetic_symtab): Likewise. + (elf_i386_nacl_arch_bed): Likewise. + (elf_i386_vxworks_arch_bed): Likewise. + (elf_i386_relocate_section): Check target_os instead of + is_vxworks. + (elf_i386_finish_dynamic_symbol): Likewise. + (elf_i386_finish_dynamic_sections): Use htab->plt0_pad_byte. + Check target_os instead of is_vxworks. + (elf_i386_link_setup_gnu_properties): Remove normal_target and + is_vxworks. Initialize plt0_pad_byte. + * elf64-x86-64.c (elf_x86_64_backend_data); Removed. + (get_elf_x86_64_arch_data): Likewise. + (get_elf_x86_64_backend_data): Likewise. + (elf_x86_64_arch_bed): Replace elf_x86_64_backend_data with + elf_x86_backend_data. + (elf_x86_64_get_synthetic_symtab): Likewise. + (elf_x86_64_nacl_arch_bed): Likewise. + (elf_x86_64_link_setup_gnu_properties): Remove is_vxworks and + normal_target. Initialize plt0_pad_byte. + * elfxx-x86.c (elf_x86_allocate_dynrelocs): Check target_os + instead of is_vxworks. + (_bfd_x86_elf_size_dynamic_sections): Likewise. + (_bfd_x86_elf_finish_dynamic_sections): Likewise. + (_bfd_x86_elf_adjust_dynamic_symbol): Likewise. + (_bfd_x86_elf_link_hash_table_create): Initialize target_os. + (_bfd_x86_elf_link_setup_gnu_properties): Remove is_vxworks. + Update normal_target. Set up plt0_pad_byte. Check target_os + instead of is_vxworks. + * elfxx-x86.h (elf_x86_target_os): New. + (elf_x86_backend_data): Likewise. + (get_elf_x86_backend_data): Likewise. + (elf_x86_link_hash_table): Remove is_vxworks. Add plt0_pad_byte + and target_os. + (elf_x86_init_table): Remove normal_target and is_vxworks. Add + plt0_pad_byte. + +2017-10-14 H.J. Lu + + * elf32-i386.c (elf_i386_finish_dynamic_sections): Call + _bfd_x86_elf_finish_dynamic_sections. + * elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Likewise. + * elfxx-x86.c (_bfd_x86_elf_finish_dynamic_sections): New + function. + * elfxx-x86.h (_bfd_x86_elf_finish_dynamic_sections): New + prototype. + +2017-10-14 H.J. Lu + + PR ld/21384 + * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't + hide symbol which was forced to be dynamic. + +2017-10-14 H.J. Lu + + PR ld/22269 + * elf32-cris.c (cris_elf_relocate_section): Don't generate + dynamic relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (cris_elf_check_relocs): Don't allocate dynamic relocation + if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + +2017-10-14 H.J. Lu + + PR ld/22269 + * elf32-sh.c (allocate_dynrelocs): Discard dynamic relocations + if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (sh_elf_relocate_section): Don't generate dynamic relocation if + UNDEFWEAK_NO_DYNAMIC_RELOC is true. + +2017-10-14 H.J. Lu + + PR ld/22269 + * elf32-s390.c (allocate_dynrelocs): Discard dynamic + relocations if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (elf_s390_relocate_section): Don't generate dynamic relocation + if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + * elf64-s390.c (allocate_dynrelocs): Discard dynamic + relocations if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (elf_s390_relocate_section): Don't generate dynamic relocation + if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + +2017-10-14 H.J. Lu + + PR ld/22269 + * elf32-nios2.c (nios2_elf32_relocate_section): Don't generate + dynamic relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (allocate_dynrelocs): Discard dynamic relocations if + UNDEFWEAK_NO_DYNAMIC_RELOC is true. + +2017-10-14 H.J. Lu + + PR ld/22269 + * elf32-microblaze.c (microblaze_elf_relocate_section): Don't + generate dynamic relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is + true. + (allocate_dynrelocs): Discard dynamic relocations if + UNDEFWEAK_NO_DYNAMIC_RELOC is true. + +2017-10-14 H.J. Lu + + PR ld/22269 + * elf32-m68k.c (elf_m68k_check_relocs): Don't allocate dynamic + relocations if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (elf_m68k_adjust_dynamic_symbol): Don't make symbol dynamic if + UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (elf_m68k_relocate_section): Don't generate dynamic relocation + if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + +2017-10-14 H.J. Lu + + PR ld/22269 + * elf32-hppa.c (ensure_undef_dynamic): Don't make undefined + symbol dynamic if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (allocate_dynrelocs): Discard dynamic relocations if + UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (elf32_hppa_relocate_section): Don't generate dynamic + relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + +2017-10-14 H.J. Lu + + PR ld/22269 + * elfnn-ia64.c (elfNN_ia64_check_relocs): Don't allocate + dynamic relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (allocate_fptr): Don't allocate function pointer if + UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (allocate_dynrel_entries): Don't allocate dynamic relocation + if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (set_got_entry): Don't set GOT entry if + UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (set_pltoff_entry): Don't set PLTOFF entry if + UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (elfNN_ia64_relocate_section): Don't install dynamic relocation + UNDEFWEAK_NO_DYNAMIC_RELOC is true. + +2017-10-14 H.J. Lu + + PR ld/22269 + * elfxx-mips.c (mips_elf_calculate_relocation): Don't generate + dynamic relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (allocate_dynrelocs): Don't allocate dynamic relocations if + UNDEFWEAK_NO_DYNAMIC_RELOC is true. + +2017-10-14 H.J. Lu + + PR ld/22269 + * elf32-arm.c (elf32_arm_final_link_relocate): Don't generate + dynamic relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (allocate_dynrelocs_for_symbol): Discard dynamic relocations + if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + +2017-10-14 H.J. Lu + + PR ld/22269 + * elf32-tilepro.c (allocate_dynrelocs): Discard dynamic + relocations if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (tilepro_elf_relocate_section): Don't generate dynamic + relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + * elfxx-tilegx.c (allocate_dynrelocs): Discard dynamic + relocations if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (tilegx_elf_relocate_section): Don't generate dynamic + relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + +2017-10-14 H.J. Lu + + PR ld/22269 + * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Don't + generate dynamic relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is + true. + (elfNN_aarch64_allocate_dynrelocs): Discard dynamic relocations + if UNDEFWEAK_NO_DYNAMIC_RELOC is true. + +2017-10-14 H.J. Lu + + * elf32-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Moved to ... + * elf-bfd.h (UNDEFWEAK_NO_DYNAMIC_RELOC): Here. + * elf64-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Removed. + +2017-10-12 James Bowman + + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * elf32-ft32.c: Add HOWTO R_FT32_15. + * reloc.c: Add BFD_RELOC_FT32_15. + +2017-10-12 Nick Clifton + + * reloc.c (enum bfd_reloc_status): Start values at 2. + * bfd-in2.h: Regenerate. + * elfnn-aarch64.c (aarch64_relocate): Invert sense of function, so + that a TRUE return indicates success. Compare the result of + calling _bfd_aarch64_elf_put_addend against bfd_reloc_ok. + (build_one_stub): Change sense of tests against aarch64_relocate + return value. + (elfNN_aarch64_tls_relax): Return bfd_reloc_notsupported, rather + than FALSE, when an error is detected. + (elfNN_aarch64_final_link_relocate): Likewise. + +2017-10-12 H.J. Lu + + * elf32-i386.c (elf_backend_hide_symbol): New. + * elf64-x86-64.c (elf_backend_hide_symbol): Likewise. + * elfxx-x86.c (_bfd_x86_elf_hide_symbol): Likewise. + * elfxx-x86.h (_bfd_x86_elf_hide_symbol): Likewise. + +2017-10-12 Alan Modra + + * elflink.c (_bfd_elf_adjust_dynamic_symbol): Call + elf_backend_hide_symbol, not _bfd_elf_link_hash_hide_symbol. + (bfd_elf_define_start_stop): Likewise. + +2017-10-12 Alan Modra + + * elf32-nds32.c (nds32_elf_size_dynamic_sections): Set .interp + when executable rather than non-PIC. + * elf32-score.c (s3_bfd_score_elf_size_dynamic_sections): Likewise. + * elf32-score7.c (s7_bfd_score_elf_size_dynamic_sections): Likewise. + +2017-10-11 Maciej W. Rozycki + + * elf-bfd.h (elf_backend_data): Add `linux_prpsinfo64_ugid16' + member. + * elf-linux-core.h (elf_external_linux_prpsinfo64): Rename to... + (elf_external_linux_prpsinfo64_ugid32): ... this. + (swap_linux_prpsinfo32_out): Rename to... + (swap_linux_prpsinfo32_ugid32_out): ... this. + (elf_external_linux_prpsinfo64_ugid16): New structure. + (swap_linux_prpsinfo64_ugid16_out): New function. + * elfxx-target.h [!elf_backend_linux_prpsinfo64_ugid16] + (elf_backend_linux_prpsinfo64_ugid16): Define. + (elfNN_bed): Initialize `linux_prpsinfo64_ugid16' member. + * elf.c (elfcore_write_linux_prpsinfo64): Handle both variants + of the 64-bit Linux core PRPSINFO note. + * elf64-sh64.c (elf_backend_linux_prpsinfo64_ugid16): Define. + +2017-10-11 Maciej W. Rozycki + + * elf-bfd.h (elf_backend_data): Add `linux_prpsinfo32_ugid16' + member. + (elfcore_write_ppc_linux_prpsinfo32): Remove prototype. + * elf32-ppc.c (elfcore_write_ppc_linux_prpsinfo32): Remove. + (elf_external_ppc_linux_prpsinfo32) + (swap_ppc_linux_prpsinfo32_out): Move to... + * elf-linux-core.h (elf_external_linux_prpsinfo32_ugid32) + (swap_linux_prpsinfo32_ugid32_out): ... these. + (elf_external_linux_prpsinfo32): Rename to... + (elf_external_linux_prpsinfo32_ugid16): ... this. + (swap_linux_prpsinfo32_out): Rename to... + (swap_linux_prpsinfo32_ugid16_out): ... this. + * elfxx-target.h [!elf_backend_linux_prpsinfo32_ugid16] + (elf_backend_linux_prpsinfo32_ugid16): Define. + (elfNN_bed): Initialize `linux_prpsinfo32_ugid16' member. + * elf.c (elfcore_write_linux_prpsinfo32): Handle both variants + of the 32-bit Linux core PRPSINFO note. + * elf32-am33lin.c (elf_backend_linux_prpsinfo32_ugid16): Define. + * elf32-arm.c (elf_backend_linux_prpsinfo32_ugid16): Define. + * elf32-cris.c (elf_backend_linux_prpsinfo32_ugid16): Define. + * elf32-frv.c (elf_backend_linux_prpsinfo32_ugid16): Define. + * elf32-i386.c (elf_backend_linux_prpsinfo32_ugid16): Define. + * elf32-m32r.c (elf_backend_linux_prpsinfo32_ugid16): Define. + * elf32-m68k.c (elf_backend_linux_prpsinfo32_ugid16): Define. + * elf32-s390.c (elf_backend_linux_prpsinfo32_ugid16): Define. + * elf32-sh.c (elf_backend_linux_prpsinfo32_ugid16): Define. + * elf32-sparc.c (elf_backend_linux_prpsinfo32_ugid16): Define. + +2017-10-11 Maciej W. Rozycki + + * elf-linux-core.h (elf_external_linux_prpsinfo64): Move the + `gap' member ahead of `pr_flag'. + +2017-10-11 Pedro Alves + + * bfd.c (_doprnt): Rename to ... + (_bfd_doprnt): ... this. + (error_handler_internal): Adjust. + +2017-10-10 H.J. Lu + + * elf32-i386.c (elf_i386_check_relocs): Set GOT refcount to 1 + instead of incrementing it. + * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. + +2017-10-10 Renlin Li + + PR ld/21402 + * elf32-arm.c (allocate_dynrelocs_for_symbol): Only make undefined weak + symbols into dynamic. + +2017-10-09 H.J. Lu + + PR ld/22274 + * elfnn-riscv.c (riscv_elf_link_hash_table): Add max_alignment. + (riscv_elf_link_hash_table_create): Initialize max_alignment to + (bfd_vma) -1. + (_bfd_riscv_relax_section): Cache the max alignment of output + sections if possible. + +2017-10-10 Alan Modra + + * elf64-ppc.c (ppc64_elf_before_check_relocs): Set sec_type for + .opd whenever .opd is present and non-zero size. Move code + setting abiversion to/from output file earlier. Only set + u.opd.func_sec when --gc-sections. Read relocs and set up + u.opd.func_sec values here.. + (ppc64_elf_check_relocs): ..rather than here. Simplify opd + section tests. + (ppc64_elf_edit_opd): Don't set sec_type for .opd here. + +2017-10-09 H.J. Lu + + * elf-m10300.c (mn10300_elf_check_relocs): Don't free cached + isymbuf. + +2017-10-09 H.J. Lu + + * elf32-bfin.c (bfin_size_dynamic_sections): Don't create the + .interp section with "ld --no-dynamic-linker". + +2017-10-09 Alan Modra + + PR 22212 + * dwarf2.c (_bfd_dwarf2_cleanup_debug_info): Free + funcinfo_hash_table and varinfo_hash_table. + +2017-10-08 H.J. Lu + + * elf32-sh.c (readonly_dynrelocs): Dump dynamic relocation + in read-only section with minfo. + (sh_elf_size_dynamic_sections): Likewise. + +2017-10-08 H.J. Lu + + * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Remove + a strayed comment. + +2017-10-08 H.J. Lu + + * elfxx-tilegx.c (tilegx_elf_finish_dynamic_sections): Set + this_hdr.sh_entsize only if section size > 0. + +2017-10-08 H.J. Lu + + * elfxx-x86.c (elf_x86_allocate_dynrelocs): Reformat. + +2017-10-07 H.J. Lu + + * elfxx-sparc.c (readonly_dynrelocs): Dump dynamic relocation + in read-only section with minfo. + (_bfd_sparc_elf_size_dynamic_sections): Likewise. + +2017-10-06 H.J. Lu + + * elfxx-x86.h (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Update + comments. + +2017-10-06 John Baldwin + + * elf-bfd.h (struct elf_backend_data): Add + `elf_backend_grok_freebsd_prstatus'. + * elf.c (elfcore_grok_freebsd_note): Call + `elf_backend_grok_freebsd_prstatus' to handle NT_PRSTATUS if + present. + * elfn32-mips.c (elf_n32_mips_grok_freebsd_prstatus): New + function. + (elf_backend_grok_freebsd_prstatus): Define. + * elfxx-target.h (elf_backend_grok_freebsd_prstatus): Define. + (elfNN_bed): Initialize `elf_backend_grok_freebsd_prstatus'. + +2017-10-06 H.J. Lu + + * elf32-i386.c (elf_i386_check_relocs): Replace has_got_reloc + and has_non_got_reloc with zero_undefweak. + * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. + * elfxx-x86.c (_bfd_x86_elf_link_hash_newfunc): Initialize + zero_undefweak to 1. + (_bfd_x86_elf_copy_indirect_symbol): Replace has_got_reloc and + has_non_got_reloc with zero_undefweak. + * elfxx-x86.h (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Replace + has_got_reloc and has_non_got_reloc with zero_undefweak. + (elf_x86_link_hash_entry): Likewise. + +2017-10-06 H.J. Lu + + * elfxx-x86.h (COPY_INPUT_RELOC_P): Add "do/while(0);". + (VERIFY_COPY_RELOC): Likewise. + +2017-10-06 H.J. Lu + + * elfxx-x86.h (VERIFY_COPY_RELOC): New. + * elf32-i386.c (elf_i386_finish_dynamic_symbol): Use it. + * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise. + +2017-10-06 H.J. Lu + + * elfxx-x86.h (VERIFY_PLT_ENTRY): New. + * elf32-i386.c (elf_i386_finish_dynamic_symbol): Use it. + * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise. + +2017-10-06 H.J. Lu + + * elfxx-x86.h (COPY_INPUT_RELOC_P): New. + * elf32-i386.c (elf_i386_relocate_section): Use it. + * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise. + +2017-10-06 H.J. Lu + + * elf32-i386.c (X86_SIZE_TYPE_P): New. + (elf_i386_relocate_section): Use GENERATE_DYNAMIC_RELOCATION_P. + * elf64-x86-64.c (X86_SIZE_TYPE_P): New. + (elf_x86_64_relocate_section): Use GENERATE_DYNAMIC_RELOCATION_P. + * elfxx-x86.h (GENERATE_DYNAMIC_RELOCATION_P): New. + +2017-10-06 H.J. Lu + + * elfxx-x86.h (POINTER_LOCAL_IFUNC_P): New. + (PLT_LOCAL_IFUNC_P): Likewise. + * elf32-i386.c (elf_i386_relocate_section): Use them. + * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise. + +2017-10-06 H.J. Lu + + * elfxx-x86.h (GENERATE_RELATIVE_RELOC_P): New. + * elf32-i386.c (elf_i386_relocate_section): Use it. + * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise. + +2017-10-06 H.J. Lu + + * elfxx-x86.h (RESOLVED_LOCALLY_P): New. + * elf32-i386.c (elf_i386_relocate_section): Use it. + * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise. + +2017-10-06 H.J. Lu + + * elf32-i386.c (X86_PCREL_TYPE_P): New. + (elf_i386_check_relocs): Use NEED_DYNAMIC_RELOCATION_P. + * elf64-x86-64.c (IS_X86_64_PCREL_TYPE): Renamed to ... + (X86_PCREL_TYPE_P): This. + (elf_x86_64_check_relocs): Use NEED_DYNAMIC_RELOCATION_P. + Replace IS_X86_64_PCREL_TYPE with X86_PCREL_TYPE_P. + (elf_x86_64_relocate_section): Replace IS_X86_64_PCREL_TYPE with + X86_PCREL_TYPE_P. + * elfxx-x86.h (NEED_DYNAMIC_RELOCATION_P): New. + +2017-10-06 H.J. Lu + + * elfxx-x86.h (TLS_TRANSITION_IE_TO_LE_P): New. + * elf32-i386.c (elf_i386_tls_transition): Use it. + * elf64-x86-64.c (elf_x86_64_tls_transition): Likewise. + +2017-10-05 H.J. Lu + + * elf32-ppc.c (readonly_dynrelocs): Add a link_info argument. + Dump dynamic relocation in read-only section with minfo if + needed. + (ppc_elf_adjust_dynamic_symbol): Pass NULL to readonly_dynrelocs. + (maybe_set_textrel): Likewise. + (ppc_elf_size_dynamic_sections): Dump dynamic relocation in + read-only section with minfo. + +2017-10-05 John Baldwin + + * elf.c (elfcore_grok_freebsd_note): Handle NT_ARM_VFP. + +2017-10-05 H.J. Lu + + * elf32-tilepro.c (readonly_dynrelocs): Dump dynamic relocation + in read-only section with minfo. + (tilepro_elf_size_dynamic_sections): Likewise. + * elfxx-tilegx.c (readonly_dynrelocs): Likewise. + (tilegx_elf_size_dynamic_sections): Likewise. + +2017-10-05 Pedro Alves + + PR 22245 + * bfd.c (bfd_set_error): Revert 2017-10-04 change. Remove + ellipsis parameter. Split out bfd_error_on_input code to.. + (bfd_set_input_error): .. New function. + * archive.c (_bfd_write_archive_contents): Use bfd_set_input_error. + * vms-lib.c (_bfd_vms_lib_write_archive_contents): Likewise. + * bfd-in2.h: Regenerate. + +2017-10-05 Alan Modra + + * elflink.c (elf_link_input_bfd): Correct ctor/dtor in init_array/ + fini_array error value. + +2017-10-05 Alan Modra + + PR 21167 + * elf.c (_bfd_elf_setup_sections): Don't trim reloc sections from + groups. + (_bfd_elf_init_reloc_shdr): Pass sec_hdr, use it to copy SHF_GROUP + flag from section. + (elf_fake_sections): Adjust calls. Exit immediately on failure. + (bfd_elf_set_group_contents): Add associated reloc section indices + to group contents. + +2017-10-04 Alan Modra + + * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't sort or + classify symbols for ELFv2. + +2017-10-04 Pavel I. Kryukov + + PR 22245 + * bfd.c (bfd_set_error): Avoid UB on passing arg to va_start that + undergoes default promotion. + * bfd-in2.h: Regenerate. + +2017-10-02 Alan Modra + + * elf32-ppc.c (ppc_elf_relocate_section): Fix comment typo. + * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. + +2017-10-01 Alan Modra + + PR 21957 + * dwarf2.c (new_line_sorts_after): Remove end_sequence comparison. + (add_line_info): Always put end_sequence last. + +2017-10-01 Alan Modra + + PR 22047 + * dwarf2.c (read_section): Allocate buffer with extra byte for + bfd_simple_get_relocated_section_contents rather than copying + afterwards. + +2017-09-29 Alan Modra + + * merge.c (merge_strings): Return FALSE on malloc failure. + (_bfd_merge_sections): Return failures from record_section and + merge_strings. + +2017-09-28 Alan Modra + + PR 22220 + * elflink.c (_bfd_elf_merge_symbol): Set non_ir_ref_dynamic in + a case where plugin_notice isn't called. + +2017-09-27 Kuan-Lin Chen + + * elf32-nds32.c (nds32_elf_relax_section): Fix a tautological + comparison. + +2017-09-26 H.J. Lu + + PR ld/22199 + * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Don't pass + output_bfd to info->callbacks->minfo. + +2017-09-26 Nick Clifton + + PR 22172 + * elf64-x86-64.c (elf_x86_64_info_to_howto): Do not trigger an + assertion failure if elf_x86_64_rtype_to_howto has already issued + an error message. + +2017-09-26 Alan Modra + + PR 22210 + * dwarf2.c (read_formatted_entries): Use read_attribute_value to + read data. + +2017-09-26 Nick Clifton + + PR 22210 + * dwarf2.c (read_formatted_entries): Fail early if we know that + the loop parsing data entries will overflow the end of the + section. + +2017-09-26 Alan Modra + + PR 22209 + * dwarf2.c (struct comp_unit): Delete sec_info_ptr field. + (find_abstract_instance_name): Calculate DW_FORM_ref_addr relative + to stash->info_ptr_memory, and check die_ref is within that memory. + Set info_ptr_end correctly when another CU is refd. Check die_ref + for DW_FORM_ref4 etc. is within CU. + +2017-09-26 Alan Modra + + PR 22205 + * dwarf2.c (concat_filename): Return "" on NULL filename. + (read_formatted_entries): Init "fe". + (decode_line_info ): Use line_info_add_file_name. + +2017-09-26 Alan Modra + + PR 22204 + * dwarf2.c (decode_line_info): Ensure line_ptr stays within + bounds in inner loop. + +2017-09-25 Alan Modra + + PR 22202 + * dwarf1.c (parse_die): Sanity check pointer against section limit + before dereferencing. + (parse_line_table): Likewise. + +2017-09-25 Alan Modra + + PR 22201 + * dwarf2.c (scan_unit_for_symbols): Ignore DW_AT_name unless it + has string form. + (parse_comp_unit): Likewise. + +2017-09-25 Alan Modra + + PR 22200 + * dwarf2.c (read_formatted_entries): Error on format_count zero. + +2017-09-24 Alan Modra + + PR 22197 + * opncls.c (bfd_get_debug_link_info_1): Properly check that crc is + within section bounds. + +2017-09-24 Alan Modra + + PR 22191 + * dwarf2.c (decode_line_info): Properly free line sequences on error. + +2017-09-24 Alan Modra + + PR 22187 + * dwarf2.c (find_abstract_instance_name): Add orig_info_ptr and + pname param. Return status. Make name const. Don't abort, + return an error. Formatting. Exit if current info_ptr matches + orig_info_ptr. Update callers. + (scan_unit_for_symbols): Start at nesting_level of zero. Make + nested_funcs an array of structs for extensibility. Formatting. + +2017-09-24 Alan Modra + + PR 22186 + * dwarf2.c (decode_line_info): Fail on lh.line_range of zero + rather than dividing by zero. + +2017-09-24 Alan Modra + + PR 22169 + * dwarf2.c (decode_line_info): Correct .debug_line unit_length check. + +2017-09-24 Alan Modra + + PR 22167 + * dwarf2.c (scan_unit_for_symbols): Check u.blk->data is non-NULL. + +2017-09-24 Alan Modra + + PR 22166 + * elf.c (_bfd_elf_slurp_version_tables): Test sh_info on + SHT_GNU_verneed section for sanity. Don't zalloc memory for + verref. + +2017-09-22 H.J. Lu + + PR binutils/22170 + * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Guard against + corrupted PLT. + +2017-09-22 H.J. Lu + + PR binutils/22163 + * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Also return + -1 if bfd_canonicalize_dynamic_reloc returns 0. + +2017-09-22 Pedro Alves + Alan Modra + + * version.h: Add comment. + +2017-09-21 Andreas Arnez + + * elf.c (elfcore_grok_note): For the cases NT_S390_GS_CB and + NT_S390_GS_BC, correct the previously swapped invocations of + elfcore_grok_s390_gs_bc and elfcore_grok_s390_gs_cb. + +2017-09-19 Alan Modra + + PR 21441 + * elf64-ppc.c (ppc64_elf_build_stubs): Don't check glink_eh_frame + size. + 2017-09-19 Alan Modra PR 22150