Automatic date update in version.in
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 09150db53069066e982fa5a30c27c0821b1f4154..187a0496c6bbcd616337f0c131b88c6e9fa9abbd 100644 (file)
@@ -1,3 +1,111 @@
+2016-06-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to
+       bfd_plugin_unknown.
+       * bfd-in2.h: Regenerated.
+       * plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown
+       with bfd_plugin_unknown.
+
+2016-06-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/20253
+       * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an
+       bfd_boolean argument.
+       * elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace
+       "shared object" with "PIC object" in comments.
+       (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.  Replace
+       "shared object" with "PIC object" in comments.  Avoid PLT if
+       requested.  Generate dynamic relocations for non-GOT references.
+       Make room for the special first entry in PLT and allocate PLT
+       entry only for PLT and PC-relative references.  Store dynamic
+       GOT relocations in .rel[a].iplt section for static executables.
+       If PLT isn't used, always use GOT for symbol value.  Don't
+       allocate GOT entry if it isn't used.
+       * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
+       count only in the code section.  Allocate dynamic pointer
+       relocation against STT_GNU_IFUNC symbol in the non-code section.
+       (elf_i386_adjust_dynamic_symbol): Increment PLT reference count
+       only for PC-relative references.
+       (elf_i386_allocate_dynrelocs): Pass TRUE to
+       _bfd_elf_allocate_ifunc_dyn_relocs.
+       (elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X
+       relocations against STT_GNU_IFUNC symbols without PLT.  Generate
+       dynamic pointer relocation against STT_GNU_IFUNC symbol in
+       the non-code section and store it in the proper REL section.
+       Don't allow non-pointer relocation against STT_GNU_IFUNC symbol
+       without PLT.
+       (elf_i386_finish_dynamic_symbol): Generate dynamic
+       R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against
+       STT_GNU_IFUNC symbols without PLT.
+       (elf_i386_finish_dynamic_sections): Don't handle local
+       STT_GNU_IFUNC symbols here.
+       (elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC
+       symbols here.
+       (elf_backend_output_arch_local_syms): New.
+       * elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference
+       count only in the code section.  Allocate dynamic pointer
+       relocation against STT_GNU_IFUNC symbol in the non-code section.
+       (elf_x86_64_adjust_dynamic_symbol): Increment PLT reference
+       count only for PC-relative references.
+       (elf_x86_64_allocate_dynrelocs): Pass TRUE to
+       _bfd_elf_allocate_ifunc_dyn_relocs.
+       (elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL,
+       R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and
+       R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols
+       without PLT.  Generate dynamic pointer relocation against
+       STT_GNU_IFUNC symbol in the non-code section and store it in
+       the proper RELA section.  Don't allow non-pointer relocation
+       against STT_GNU_IFUNC symbol without PLT.
+       (elf_x86_64_finish_dynamic_symbol): Generate dynamic
+       R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against
+       STT_GNU_IFUNC symbols without PLT.
+       (elf_x86_64_finish_dynamic_sections): Don't handle local
+       STT_GNU_IFUNC symbols here.
+       (elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC
+       symbols here.
+       (elf_backend_output_arch_local_syms): New.
+       * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
+       Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs.
+
+2016-06-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+           Tony Wang  <tony.wang@arm.com>
+
+       * elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub
+       sequence.
+       (stub_long_branch_thumb2_only): Define stub.
+       (arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only.
+       (arm_stub_long_branch_thumb2_only): Likewise.
+       (arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2
+       capable targets.
+
+2016-06-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * archures.c (bfd_mach_sparc_v8plusc): Define.
+       (bfd_mach_sparc_v9c): Likewise.
+       (bfd_mach_sparc_v8plusd): Likewise.
+       (bfd_mach_sparc_v9d): Likewise.
+       (bfd_mach_sparc_v8pluse): Likewise.
+       (bfd_mach_sparc_v9e): Likewise.
+       (bfd_mach_sparc_v8plusv): Likewise
+       (bfd_mach_sparc_v9v): Likewise.
+       (bfd_mach_sparc_v8plusm): Likewise.
+       (bfd_mach_sparc_v9m): Likewise.
+       (bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m.
+       (bfd_mach_sparc_64bit_p): Likewise.
+       * bfd-in2.h: Regenerate.
+       * cpu-sparc.c (arch_info_struct): Add entries for
+       bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}.
+       * aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m}
+       and bfd_mach_sparc_v9{c,d,e,v,m}.
+       * elf32-sparc.c (elf32_sparc_final_write_processing): Likewise.
+       * elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise.
+
+2016-06-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_check_relocs): Don't check undefined
+       symbols for relocations against IFUNC symbols.
+       * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
+
 2016-06-16  Marcin Koƛcielnicki  <koriakin@0x04.net>
 
        * elf32-s390.c (elf_s390_finish_dynamic_sections): Include
This page took 0.02461 seconds and 4 git commands to generate.