MIPS/BFD: Fix TLS relocation resolution for regular executables
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index b812fdc6e5992d76dee9241fac18a2ec629d26e9..d4e2c21efbaf7c186a072189b92a913bf563f048 100644 (file)
@@ -1,3 +1,307 @@
+2018-07-11  Maciej W. Rozycki  <macro@mips.com>
+
+       * 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  <macro@mips.com>
+           Rich Felker  <bugdal@aerifal.cx>
+
+       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  <macro@mips.com>
+
+       * elflink.c (bfd_elf_final_link): Rename `remove' local variable
+       to `remove_section'.
+
+2018-07-10  Alan Modra  <amodra@gmail.com>
+
+       * 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  <macro@mips.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       PR ld/23388
+       * configure.ac: Use changequote for "i[3-7]86-*-linux-*".
+       * configure: Regenerated.
+
+2018-07-09  Alan Modra  <amodra@gmail.com>
+
+       * elf32-m68hc1x.c (elf32_m68hc11_post_process_headers): Call
+       _bfd_elf_post_process_headers.
+
+2018-07-06  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * 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  <alan.hayward@arm.com>
+
+       * 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  <amodra@gmail.com>
+
+       * 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  <jimw@sifive.com>
+
+       * config.bfd (riscv32*-*-*): Renamed from riscv32-*-*.
+       (riscv64*-*-*): Likewise.
+       (riscv-*-*): Add as an alias for riscv32*-*-*.
+
+2018-07-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/23372
+       * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove x86
+       ISA properties with empty bits.
+
+2018-07-05  Nick Clifton  <nickc@redhat.com>
+
+       * po/ru.po: Updated Russian translation.
+
+2018-07-05  Alan Modra  <amodra@gmail.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * Makefile.am (bfdinclude_HEADERS): Add $(INCDIR)/diagnostics.h.
+       * Makefile.in: Regenerated.
+
+2018-07-03  Alan Modra  <amodra@gmail.com>
+
+       * elflink.c (bfd_elf_final_link): Remove zero size .gnu.attributes
+       sections.
+
+2018-07-03  Alan Modra  <amodra@gmail.com>
+
+       * 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  <amodra@gmail.com>
+
+       PR 17550
+       * elflink.c (_bfd_elf_fix_symbol_flags): Hide dynamic symbols
+       in discarded sections.
+
+2018-07-02  Maciej W. Rozycki  <macro@mips.com>
+
+       * 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  <macro@mips.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       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  <jrmuizel@gmail.com>
+           Tom Tromey  <tom@tromey.com>
+
+       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  <thomas.preudhomme@arm.com>
+
+       * 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  <thomas.preudhomme@arm.com>
+
+       * doc/bfdint.texi: Use command-line consistently when used in a
+       compount word.
+       * doc/bfdsumm.texi: Likewise.
+
+2018-06-29  Maciej W. Rozycki  <macro@mips.com>
+
+       * elfxx-mips.c (allocate_dynrelocs): Remove extraneous symbol
+       visibility check made for undefined weak symbols.
+
+2018-06-26  Nick Clifton  <nickc@redhat.com>
+
+       * po/uk.po: Updated Ukranian translation.
+
+2018-06-25  Nick Clifton  <nickc@redhat.com>
+
+       * 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  <nickc@redhat.com>
+
+       * po/bfd.pot: Regenerate.
+
+2018-06-24  Nick Clifton  <nickc@redhat.com>
+
+       * version.m4: Update version string to 2.31.51.
+       * configure: Regenerate.
+
+2018-06-24  Nick Clifton  <nickc@redhat.com>
+
+       2.31 branch created.
+
+2018-06-21  Maciej W. Rozycki  <macro@mips.com>
+
+       * elfxx-mips.c (_bfd_mips_elf_compact_eh_encoding)
+       (_bfd_mips_elf_cant_unwind_opcode): Correct formatting.
+
+2018-06-21  Maciej W. Rozycki  <macro@mips.com>
+
+       * elfxx-mips.c (_bfd_mips_post_process_headers): Keep
+       EI_ABIVERSION setting together.
+
+2018-06-21  Maciej W. Rozycki  <macro@mips.com>
+
+       * 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  <jimw@sifive.com>
+
+       * 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  <amodra@gmail.com>
+
+       * doc/Makefile.am (AUTOMAKE_OPTIONS): Add "foreign".
+       * doc/Makefile.in: Regenerate.
+
+2018-06-20  Renlin Li  <renlin.li@arm.com>
+
+       * 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  <nickc@redhat.com>
+
+       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  <nickc@redhat.com>
+
+       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  <macro@mips.com>
+
+       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  <macro@mips.com>
 
        * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Fix
This page took 0.026703 seconds and 4 git commands to generate.