+2017-08-30 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): When optimizing
+ __tls_get_addr call sequences to LE, don't move the addi down
+ to the nop. Replace the bl with addi and leave the nop alone.
+
+2017-08-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_pie_finish_undefweak_symbol):
+ Re-indent.
+ * elf64-x86-64.c (elf_x86_64_finish_local_dynamic_symbol):
+ Likewise.
+ (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
+
+2017-08-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_get_synthetic_symtab): Simplify bad
+ return.
+ * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
+
+2017-08-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_get_synthetic_symtab): Check valid PLT
+ sections before checking dynamic relocations and free invalid
+ PLT section contents.
+ * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
+
+2017-08-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (_bfd_elf_ifunc_get_synthetic_symtab): Removed.
+ * elf-ifunc.c (_bfd_elf_ifunc_get_synthetic_symtab): Likewise.
+
+2017-08-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/22018
+ * elf32-i386.c (elf_i386_get_synthetic_symtab): Check for valid
+ PLT section size.
+ * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
+
+2017-08-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_link_hash_newfunc): Initialize
+ def_protected.
+ * elf64-x86-64.c (elf_x86_64_link_hash_newfunc): Likewise.
+
+2017-08-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/21997
+ * elf-bfd.h (elf_obj_tdata): Use ENUM_BITFIELD on object_id,
+ dyn_lib_class and has_gnu_symbols. Change bad_symtab to bitfield.
+ Add a has_no_copy_on_protected bitfield.
+ (elf_has_no_copy_on_protected): New.
+ * elf-properties.c (_bfd_elf_parse_gnu_properties): Set
+ elf_has_no_copy_on_protected for GNU_PROPERTY_NO_COPY_ON_PROTECTED.
+ (elf_merge_gnu_property_list): Likewise.
+ (_bfd_elf_link_setup_gnu_properties): Set extern_protected_data
+ to FALSE for elf_has_no_copy_on_protected.
+ * elf32-i386.c (SYMBOL_NO_COPYRELOC): New.
+ (elf_i386_link_hash_entry): Add def_protected.
+ (elf_i386_adjust_dynamic_symbol): Also check SYMBOL_NO_COPYRELOC
+ when checking info->nocopyreloc.
+ (elf_i386_link_setup_gnu_properties): Don't set
+ extern_protected_data here.
+ (elf_i386_merge_symbol_attribute): New function.
+ (elf_backend_merge_symbol_attribute): New.
+ * elf64-x86-64.c (SYMBOL_NO_COPYRELOC): New.
+ (elf_x86_64_link_hash_entry): Add def_protected.
+ (elf_x86_64_need_pic): Report protected symbol for def_protected.
+ (elf_x86_64_adjust_dynamic_symbol): Also check SYMBOL_NO_COPYRELOC
+ when checking info->nocopyreloc.
+ (elf_x86_64_relocate_section): Also check for R_X86_64_PC32
+ relocation run-time overflow and unresolvable R_X86_64_32S
+ relocation against protected data symbol defined in shared object
+ with GNU_PROPERTY_NO_COPY_ON_PROTECTED.
+ (elf_x86_64_link_setup_gnu_properties): Don't set
+ extern_protected_data here.
+ (elf_x86_64_merge_symbol_attribute): New function.
+ (elf_backend_merge_symbol_attribute): New.
+
+2017-08-26 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (must_be_dyn_reloc): Use bfd_link_dll. Comment.
+ (ppc_elf_check_relocs): Only set DF_STATIC_TLS in shared libs.
+ (ppc_elf_relocate_section): Comment fix.
+ * elf64-ppc.c (must_be_dyn_reloc): Use bfd_link_dll. Comment.
+ (ppc64_elf_check_relocs): Only set DF_STATIC_TLS in shared libs.
+ Support dynamic relocs for TPREL16 when non-pic too.
+ (dec_dynrel_count): Adjust TPREL16 handling as per check_relocs.
+ (ppc64_elf_relocate_section): Support dynamic relocs for TPREL16
+ when non-pic too.
+
+2017-08-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_link_hash_entry): Remove redundant
+ "symbol" in comments.
+ * elf64-x86-64.c (elf_x86_64_link_hash_entry): Likewise.
+
2017-08-24 H.J. Lu <hongjiu.lu@intel.com>
PR ld/22001