mn10300: Don't free cached internal symbol table
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 4462553c2ad6ff2d5780045e146c7d20e9a058d9..81d27857fc1ca1d456a95f0935bffb1b05325092 100644 (file)
@@ -1,9 +1,644 @@
+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
+       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  <palves@redhat.com>
+
+       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  <amodra@gmail.com>
+
+       * elflink.c (elf_link_input_bfd): Correct ctor/dtor in init_array/
+       fini_array error value.
+
+2017-10-05  Alan Modra  <amodra@gmail.com>
+
+       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  <amodra@gmail.com>
+
+       * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't sort or
+       classify symbols for ELFv2.
+
+2017-10-04  Pavel I. Kryukov <kryukov@frtk.ru>
+
+       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  <amodra@gmail.com>
+
+       * elf32-ppc.c (ppc_elf_relocate_section): Fix comment typo.
+       * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+
+2017-10-01  Alan Modra  <amodra@gmail.com>
+
+       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  <amodra@gmail.com>
+
+       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  <amodra@gmail.com>
+
+       * 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  <amodra@gmail.com>
+
+       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  <kuanlinchentw@gmail.com>
+
+       * elf32-nds32.c (nds32_elf_relax_section): Fix a tautological
+       comparison.
+
+2017-09-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       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  <nickc@redhat.com>
+
+       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  <amodra@gmail.com>
+
+       PR 22210
+       * dwarf2.c (read_formatted_entries): Use read_attribute_value to
+       read data.
+
+2017-09-26  Nick Clifton  <nickc@redhat.com>
+
+       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  <amodra@gmail.com>
+
+       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  <amodra@gmail.com>
+
+       PR 22205
+       * dwarf2.c (concat_filename): Return "<unknown>" on NULL filename.
+       (read_formatted_entries): Init "fe".
+       (decode_line_info <DW_LNE_define_file>): Use line_info_add_file_name.
+
+2017-09-26  Alan Modra  <amodra@gmail.com>
+
+       PR 22204
+       * dwarf2.c (decode_line_info): Ensure line_ptr stays within
+       bounds in inner loop.
+
+2017-09-25  Alan Modra  <amodra@gmail.com>
+
+       PR 22202
+       * dwarf1.c (parse_die): Sanity check pointer against section limit
+       before dereferencing.
+       (parse_line_table): Likewise.
+
+2017-09-25  Alan Modra  <amodra@gmail.com>
+
+       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  <amodra@gmail.com>
+
+       PR 22200
+       * dwarf2.c (read_formatted_entries): Error on format_count zero.
+
+2017-09-24  Alan Modra  <amodra@gmail.com>
+
+       PR 22197
+       * opncls.c (bfd_get_debug_link_info_1): Properly check that crc is
+       within section bounds.
+
+2017-09-24  Alan Modra  <amodra@gmail.com>
+
+       PR 22191
+       * dwarf2.c (decode_line_info): Properly free line sequences on error.
+
+2017-09-24  Alan Modra  <amodra@gmail.com>
+
+       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  <amodra@gmail.com>
+
+       PR 22186
+       * dwarf2.c (decode_line_info): Fail on lh.line_range of zero
+       rather than dividing by zero.
+
+2017-09-24  Alan Modra  <amodra@gmail.com>
+
+       PR 22169
+       * dwarf2.c (decode_line_info): Correct .debug_line unit_length check.
+
+2017-09-24  Alan Modra  <amodra@gmail.com>
+
+       PR 22167
+       * dwarf2.c (scan_unit_for_symbols): Check u.blk->data is non-NULL.
+
+2017-09-24  Alan Modra  <amodra@gmail.com>
+
+       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  <hongjiu.lu@intel.com>
+
+       PR binutils/22170
+       * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Guard against
+       corrupted PLT.
+
+2017-09-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       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  <palves@redhat.com>
+           Alan Modra  <amodra@gmail.com>
+
+       * version.h: Add comment.
+
+2017-09-21  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+       * 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  <amodra@gmail.com>
+
+       PR 21441
+       * elf64-ppc.c (ppc64_elf_build_stubs): Don't check glink_eh_frame
+       size.
+
+2017-09-19  Alan Modra  <amodra@gmail.com>
+
+       PR 22150
+       * elflink.c (bfd_elf_size_dynamic_sections): Garbage collect
+       symbols before calculating verrefs.  Don't renumber dynsyms
+       after gc.  Exclude .gnu.version when zero or one dynsym.
+       Localize some vars and reindent.
+
+2017-09-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/22148
+       * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Check error
+       return from bfd_canonicalize_dynamic_reloc.
+
+2017-09-15  Alan Modra  <amodra@gmail.com>
+
+       PR 22116
+       * archive.c (bfd_ar_hdr_from_filesystem): Detect when status.st_size
+       overflows bfd_size_type.
+
+2017-09-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/22135
+       * elf32-i386.c (elf_i386_convert_load_reloc): Add an argument
+       to indicate if conversion is performed.
+       (elf_i386_check_relocs): Cache section contents and relocations
+       if conversion is performed.
+       * elf64-x86-64.c (elf_x86_64_check_relocs): Cache section
+       contents and relocations if conversion is performed.
+
+2017-09-14  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/22113
+       * peXXigen.c (pe_print_idata): Extend check for HintName vector
+       entries.
+
+2017-09-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elfxx-x86.h: Fix a typo in comments.
+
+2017-09-09  Kamil Rytarowski  <n54@gmx.com>
+
+       * elf32-nds32.c: Rename __BIT() to N32_BIT().
+
+2017-09-09  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppp.c (plt_stub_pad): Handle positive and negative
+       plt_stub_align.
+
+2017-09-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_relocate_section): Update usage of
+       UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+       (elf_i386_finish_dynamic_symbol): Likewise.
+       * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
+       (elf_x86_64_finish_dynamic_symbol): Likewise.
+       * elfxx-x86.c (elf_x86_allocate_dynrelocs): Likewise.
+       (_bfd_x86_elf_fixup_symbol): Likewise.
+
+2017-09-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
+       check has_non_got_reloc.
+
+2017-09-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/22115
+       * elf32-i386.c (elf_i386_convert_load_reloc): Check linker_def.
+       Don't use UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+       * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Check
+       linker_def.  Don't use UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+       * elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Set local_ref
+       and linker_def on __ehdr_start if it is referenced and not
+       defined.
+       (_bfd_x86_elf_link_symbol_references_local): Also set local_ref
+       and return TRUE when building executable, if a symbol has
+       non-GOT/non-PLT relocations in text section or there is no
+       dynamic linker.
+       * elfxx-x86.h (elf_x86_link_hash_entry): Add linker_def.
+
+2017-09-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elfxx-x86.h: Update comments.
+
+2017-09-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_link_setup_gnu_properties): Replace
+       elf_x86_plt_layout_table with elf_x86_init_table.
+       * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties):
+       Likewise.
+       * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties):
+       Likewise.
+       * elfxx-x86.h (elf_x86_plt_layout_table): Renamed to ...
+       (elf_x86_init_table): This.
+       (_bfd_x86_elf_link_setup_gnu_properties): Replace
+       elf_x86_plt_layout_table with elf_x86_init_table.
+
+2017-09-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure.ac (bfd_backends): Don't add elf64-x86-64.lo nor
+       elf64.lo together with elfxx-x86.lo for 64-bit BFD.
+       * configure: Regenerated.
+       * elf32-i386.c (elf_i386_link_setup_gnu_properties): Set r_info
+       and r_sym fields of plt_layout.
+       * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties):
+       Likewise.
+       * elfxx-x86.c (elf_x86_64_is_reloc_section): Remove BFD64 check.
+       (_bfd_x86_elf_link_hash_table_create): Likewise.  Don't set
+       r_info nor r_sym fields.
+       (_bfd_x86_elf_link_setup_gnu_properties): Set r_info and r_sym
+       fields of htab.
+       * elfxx-x86.h (elf_x86_plt_layout_table): Add r_info and r_sym.
+
+2017-09-07  Palmer Dabbelt  <palmer@dabbelt.com>
+
+       * (_bfd_riscv_relax_align): Call bfd_set_error and
+       print an error message when unable to relax a .align directive.
+
+2017-09-07  Palmer Dabbelt  <palmer@dabbelt.com>
+
+       * elfnn-riscv.c (riscv_zero_pcrel_hi_reloc): New function.
+       (riscv_record_pcrel_hi_reloc): Add absolute argument.
+       (riscv_elf_relocate_section): Call riscv_zero_pcrel_hi_reloc for
+       R_RISCV_PCREL_HI20 relocs, and pass the result to
+       riscv_record_pcrel_hi_reloc.
+
+2017-09-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_convert_load_reloc): Add an argument,
+       r_type_p.  Remove the converted argument.  Replace
+       SYMBOL_REFERENCES_LOCAL with SYMBOL_REFERENCES_LOCAL_P.  Return
+       the new relocation type via r_type_p.
+       (elf_i386_relocate_section): Likewise.
+       (elf_i386_finish_dynamic_symbol): Likewise.
+       (need_convert_load): Removed.
+       (check_relocs_failed): Updated.
+       (elf_i386_check_relocs): Call elf_i386_convert_load_reloc,
+       instead of setting need_convert_load.
+       (_bfd_i386_elf_convert_load): Removed.
+       * elf64-x86-64.c (need_convert_load): Removed.
+       (check_relocs_failed): Updated.
+       (elf_x86_64_convert_load_reloc): Add an argument, r_type_p.
+       Replace SYMBOL_REFERENCES_LOCAL with SYMBOL_REFERENCES_LOCAL_P.
+       Return the new relocation type via r_type_p.
+       (elf_x86_64_check_relocs): Call elf_x86_64_convert_load_reloc,
+       instead of setting need_convert_load.
+       (elf_x86_64_check_relocs): Don't check PIC if relocation has
+       been converted.
+       (_bfd_x86_64_elf_convert_load): Removed.
+       (elf_x86_64_relocate_section): Replace SYMBOL_REFERENCES_LOCAL
+       with SYMBOL_REFERENCES_LOCAL_P.
+       (elf_x86_64_finish_dynamic_symbol): Likewise.
+       * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Don't
+       set convert_load.
+       (_bfd_x86_elf_size_dynamic_sections): Don't call convert_load.
+       (_bfd_x86_elf_link_symbol_references_local): New function.
+       * elfxx-x86.h (SYMBOL_REFERENCES_LOCAL_P): New.
+       (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Replace elf.forced_local with
+       SYMBOL_REFERENCES_LOCAL_P.
+       (elf_x86_link_hash_entry): Add local_ref.
+       (elf_x86_link_hash_table): Remove convert_load.
+       (_bfd_i386_elf_convert_load): Removed.
+       (_bfd_x86_64_elf_convert_load): Likewise.
+       (_bfd_x86_elf_link_symbol_references_local): New.
+
+2017-09-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (R_X86_64_converted_reloc_bit): New.
+       (elf_x86_64_info_to_howto): Get the real relocation type by
+       masking out R_X86_64_converted_reloc_bit.
+       (elf_x86_64_check_tls_transition): Get the real relocation type
+       by masking out R_X86_64_converted_reloc_bit.
+       (elf_x86_64_convert_load_reloc): Set R_X86_64_converted_reloc_bit
+       instead of setting converted_reloc.
+       (elf_x86_64_relocate_section): Check R_X86_64_converted_reloc_bit
+       instead of converted_reloc. Get the real relocation type by
+       masking out R_X86_64_converted_reloc_bit.
+       (elf_x86_64_link_setup_gnu_properties): Verify that the value of
+       R_X86_64_converted_reloc_bit is valid.
+       * elfxx-x86.h (converted_reloc): Removed.
+
+2017-09-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_relocate_section): Don't change r_type
+       when calling elf_i386_tls_transition.  Don't use ELF32_R_TYPE
+       to get the relocation type again.
+       * elf64-x86-64.c (elf_x86_64_relocate_section): Don't change
+       r_type when calling elf_x86_64_tls_transition.  Don't use
+       ELF32_R_TYPE to get the relocation type again.
+
+2017-09-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Properly set
+       converted_reloc.
+
+2017-09-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Remove the sec
+       argument.  Don't check relocation overflow.  Avoid relocation
+       overflow if --no-relax is used.  Set converted_reloc on symbol
+       if a GOTPCREL relocation is converted.
+       (elf_x86_64_relocate_section): Issue a fatal error and suggest
+       --no-relax if GOTPCREL relocation conversion leads to relocation
+       overflow.
+       * elfxx-x86.h (elf_x86_link_hash_entry): Add converted_reloc.
+
+2017-09-05  Alexander Fedotov <alexander.fedotov@nxp.com>
+           Edmar Wienskoski <edmar.wienskoski@nxp.com
+
+       * elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_VLE_ADDR20.
+       (ppc_elf_check_relocs): Handle it.
+       (ppc_elf_vle_split20): New function.
+       (ppc_elf_relocate_section): Handle R_PPC_VLE_ADDR20.
+
+2017-09-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/22071
+       * elfxx-x86.c (elf_x86_allocate_dynrelocs): Set tlsdesc_plt
+       for x86-64 if GOT_TLS_GDESC_P is true.
+
+2017-09-03  Alan Modra  <amodra@gmail.com>
+
+       PR 22067
+       * elfxx-x86.h (elf_x86_hash_table): Check is_elf_hash_table first.
+
+2017-09-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Initialize
+       tls_get_addr for x86-64 in one place.
+
 2017-09-02  H.J. Lu  <hongjiu.lu@intel.com>
 
        * configure.ac (bfd_backends): Add elf64-x86-64.lo together
        with elfxx-x86.lo for 64-bit BFD.
        * configure: Regenerated.
 
+2017-09-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_convert_load): Renamed to ...
+       (_bfd_i386_elf_convert_load): This.  Remove static.
+       (elf_i386_size_dynamic_sections): Removed.
+       (elf_backend_size_dynamic_sections): Likewise.
+       * elf64-x86-64.c (elf_x86_64_convert_load): Renamed to ...
+       (_bfd_x86_64_elf_convert_load): This.  Remove static.
+       (elf_x86_64_size_dynamic_sections): Removed.
+       (elf_backend_size_dynamic_sections): Likewise.
+       * elfxx-x86.c (_bfd_x86_elf_allocate_dynrelocs): Renamed to ...
+       (elf_x86_allocate_dynrelocs): This.  Make it static.
+       (_bfd_x86_elf_allocate_local_dynrelocs): Renamed to ...
+       (elf_x86_allocate_local_dynreloc): This.  Make it static.
+       (elf_i386_is_reloc_section): New function.
+       (elf_x86_64_is_reloc_section): Likewise.
+       (_bfd_x86_elf_link_hash_table_create): Initialize convert_load,
+       is_reloc_section, dt_reloc, dt_reloc_sz and dt_reloc_ent.
+       Rearrange got_entry_size initialization.
+       (_bfd_x86_elf_size_dynamic_sections): New function.
+       * elfxx-x86.h (elf_x86_link_hash_table): Add convert_load,
+       is_reloc_section, dt_reloc, dt_reloc_sz and dt_reloc_ent.
+       (_bfd_i386_elf_convert_load): New.
+       (_bfd_x86_64_elf_convert_load): Likewise.
+       (_bfd_x86_elf_size_dynamic_sections): Likewise.
+       (elf_backend_size_dynamic_sections): Likewise.
+       (_bfd_x86_elf_allocate_dynrelocs): Removed.
+       (_bfd_x86_elf_allocate_local_dynrelocs): Likewise.
+
 2017-09-02  H.J. Lu  <hongjiu.lu@intel.com>
 
        * elfxx-x86.h (elf_x86_link_hash_table): Rearrange fields and
This page took 0.035207 seconds and 4 git commands to generate.