ELF: Call check_relocs after opening all inputs
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 84fad70830675a96077ed7a387ce3ce8a0594471..364a36d24b01fc1b44b44726bd4d684c98ae5ff6 100644 (file)
@@ -1,3 +1,552 @@
+2017-10-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       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  <hongjiu.lu@intel.com>
+
+       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  <hongjiu.lu@intel.com>
+
+       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  <hongjiu.lu@intel.com>
+
+       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  <hongjiu.lu@intel.com>
+
+       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  <hongjiu.lu@intel.com>
+
+       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  <hongjiu.lu@intel.com>
+
+       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  <hongjiu.lu@intel.com>
+
+       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  <hongjiu.lu@intel.com>
+
+       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  <hongjiu.lu@intel.com>
+
+       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  <hongjiu.lu@intel.com>
+
+       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  <hongjiu.lu@intel.com>
+
+       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  <hongjiu.lu@intel.com>
+
+       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  <hongjiu.lu@intel.com>
+
+       * 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  <james.bowman@ftdichip.com>
+
+       * 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  <nickc@redhat.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <amodra@gmail.com>
+
+       * 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  <amodra@gmail.com>
+
+       * 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  <macro@imgtec.com>
+
+       * 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  <macro@imgtec.com>
+
+       * 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  <macro@imgtec.com>
+
+       * elf-linux-core.h (elf_external_linux_prpsinfo64): Move the
+       `gap' member ahead of `pr_flag'.
+
+2017-10-11  Pedro Alves  <palves@redhat.com>
+
+       * bfd.c (_doprnt): Rename to ...
+       (_bfd_doprnt): ... this.
+       (error_handler_internal): Adjust.
+
+2017-10-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * 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  <renlin.li@arm.com>
+
+       PR ld/21402
+       * elf32-arm.c (allocate_dynrelocs_for_symbol): Only make undefined weak
+        symbols into dynamic.
+
+2017-10-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       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  <amodra@gmail.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * elf-m10300.c (mn10300_elf_check_relocs): Don't free cached
+       isymbuf.
+
+2017-10-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-bfin.c (bfin_size_dynamic_sections): Don't create the
+       .interp section with "ld --no-dynamic-linker".
+
+2017-10-09  Alan Modra  <amodra@gmail.com>
+
+       PR 22212
+       * dwarf2.c (_bfd_dwarf2_cleanup_debug_info): Free
+       funcinfo_hash_table and varinfo_hash_table.
+
+2017-10-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Remove
+       a strayed comment.
+
+2017-10-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elfxx-tilegx.c (tilegx_elf_finish_dynamic_sections): Set
+       this_hdr.sh_entsize only if section size > 0.
+
+2017-10-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elfxx-x86.c (elf_x86_allocate_dynrelocs): Reformat.
+
+2017-10-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * elfxx-x86.h (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Update
+       comments.
+
+2017-10-06  John Baldwin  <jhb@FreeBSD.org>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * elfxx-x86.h (COPY_INPUT_RELOC_P): Add "do/while(0);".
+       (VERIFY_COPY_RELOC): Likewise.
+
+2017-10-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <jhb@FreeBSD.org>
+
+       * elf.c (elfcore_grok_freebsd_note): Handle NT_ARM_VFP.
+
 2017-10-05  H.J. Lu  <hongjiu.lu@intel.com>
 
        * elf32-tilepro.c (readonly_dynrelocs): Dump dynamic relocation
This page took 0.030593 seconds and 4 git commands to generate.