+2016-05-11 Alan Modra <amodra@gmail.com>
+
+ PR 20060
+ * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
+ * elf32-ppc.c (ppc_elf_tls_setup): Likewise.
+
+2016-05-10 Jiong Wang <jiong.wang@arm.com>
+
+ * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
+ aarch64_tls_transition check.
+
+2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
+ enumerator.
+ (arm_stub_sym_claimed): New function.
+ (elf32_arm_create_stub): Use veneered symbol name and section if
+ veneer needs to claim its symbol, and keep logic unchanged otherwise.
+ (arm_stub_claim_sym): New function.
+ (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
+ veneered symbol, otherwise create local symbol as before.
+
+2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * elf32-arm.c (elf32_arm_size_stubs): Use new macros
+ ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
+ and set branch type of a symbol.
+ (bfd_elf32_arm_process_before_allocation): Likewise.
+ (elf32_arm_relocate_section): Likewise and fix identation along the
+ way.
+ (allocate_dynrelocs_for_symbol): Likewise.
+ (elf32_arm_finish_dynamic_symbol): Likewise.
+ (elf32_arm_swap_symbol_in): Likewise.
+ (elf32_arm_swap_symbol_out): Likewise.
+
+2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
+ * bfd-in2.h: Regenerated.
+ * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
+ parameter to add_stub_section callback.
+ (elf32_arm_create_or_find_stub_sec): Get output section from link_sec
+ and pass it down to add_stub_section.
+ (elf32_arm_add_stub): Set section to stub_sec if NULL before using it
+ for error message.
+ (elf32_arm_size_stubs): Add output section parameter to
+ add_stub_section function pointer parameter.
+
+2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * elf32-arm.c (elf32_arm_create_stub): New function.
+ (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
+
+2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * elf32-arm.c (enum elf32_arm_stub_type): Delete
+ arm_stub_a8_veneer_lwm enumerator.
+ (arm_stub_a8_veneer_lwm): New unsigned constant to replace
+ aforementioned enumerator.
+ (struct elf32_arm_stub_hash_entry): Delete target_addend
+ field and add source_value.
+ (struct a8_erratum_fix): Delete addend field and add target_offset.
+ (stub_hash_newfunc): Initialize source_value field amd remove
+ initialization for target_addend.
+ (arm_build_one_stub): Stop special casing Thumb relocations: promote
+ the else to being always executed, moving the
+ arm_stub_a8_veneer_b_cond specific code in it. Remove
+ stub_entry->target_addend from points_to computation.
+ (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
+ to target symbol from start of section rather than the offset from the
+ stub address.
+ (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
+ fields from struct a8_erratum_fix's offset and target_offset
+ respectively.
+ (make_branch_to_a8_stub): Rename target variable to loc. Compute
+ veneered_insn_loc and loc using stub_entry's source_value.
+
+2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ (elf32_arm_merge_eabi_attributes): Add merging logic for
+ Tag_DSP_extension.
+
+2016-05-10 Pip Cet <pipcet@gmail.com>
+
+ PR ld/20059
+ * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
+ Define as _bfd_generic_copy_link_hash_symbol_type when using
+ generic hash table.
+
+2016-05-09 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/20063
+ * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
+ field before accessing sections array.
+
+2016-05-09 Christophe Monat <christophe.monat@st.com>
+
+ PR ld/20030
+ * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
+ (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
+ to nb_words.
+ (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
+ encoding.
+ (create_instruction_vldmdb): Likewise.
+ (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
+ uses it to re-encode.
+
+2016-05-09 Nick Clifton <nickc@redhat.com>
+
+ PR 19938
+ * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
+ commit.
+
+2016-05-09 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
+
+2016-05-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/17550
+ * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
+ documenting that indx == -3 if symbol is defined in a discarded
+ section.
+ * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
+ symbol is defined in a discarded section.
+ (elf_link_output_extsym): Strip a global symbol defined in a
+ discarded section.
+
+2016-05-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
+ MCU.
+
+2016-05-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
+ conversion to ...
+ (elf_i386_convert_load_reloc): This. New function.
+ * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
+ conversion to ...
+ (elf_x86_64_convert_load_reloc): This. New function.
+
+2016-05-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
+ Don't check if contents == NULL.
+ (elf_i386_tls_transition): Add from_relocate_section. Check
+ from_relocate_section instead of contents != NULL. Update
+ elf_i386_check_tls_transition call.
+ (elf_i386_check_relocs): Cache the section contents if
+ keep_memory is FALSE. Pass FALSE as from_relocate_section to
+ elf_i386_tls_transition.
+ (elf_i386_relocate_section): Pass TRUE as from_relocate_section
+ to elf_i386_tls_transition.
+ (elf_backend_caches_rawsize): New.
+ * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
+ if contents == NULL.
+ (elf_x86_64_tls_transition): Add from_relocate_section. Check
+ from_relocate_section instead of contents != NULL.
+ (elf_x86_64_check_relocs): Cache the section contents if
+ keep_memory is FALSE. Pass FALSE as from_relocate_section to
+ elf_x86_64_tls_transition.
+ (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
+ to elf_x86_64_tls_transition.
+ (elf_backend_caches_rawsize): New.
+
+2016-05-03 Maciej W. Rozycki <macro@imgtec.com>
+
+ PR 10549
+ * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
+ STB_GNU_UNIQUE.
+
+2016-05-03 Jiong Wang <jiong.wang@arm.com>
+
+ * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
+ * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
+ * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
+ no_apply_dynamic_relocs.
+ (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
+ dynamic relocations generated.
+
+2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
+ setting to ...
+ (elf_i386_create_dynamic_sections): Here.
+ * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
+ interp setting to ...
+ (elf_x86_64_create_dynamic_sections): Here.
+
+2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
+ and replace (EH)->has_got_reloc with GOT_RELOC.
+ (elf_i386_fixup_symbol): Pass has_got_reloc to
+ UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+ (elf_i386_allocate_dynrelocs): Likewise.
+ (elf_i386_relocate_section): Likewise.
+ (elf_i386_finish_dynamic_symbol): Likewise.
+ (elf_i386_convert_load): Pass TRUE to
+ UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+ * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
+ GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
+ (elf_x86_64_fixup_symbol): Pass has_got_reloc to
+ UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+ (elf_x86_64_allocate_dynrelocs): Likewise.
+ (elf_x86_64_relocate_section): Likewise.
+ (elf_x86_64_finish_dynamic_symbol): Likewise.
+ (elf_x86_64_convert_load): Pass TRUE to
+ UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+
+2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (check_relocs_failed): New.
+ (elf_i386_check_relocs): Set check_relocs_failed on error.
+ (elf_i386_relocate_section): Skip if check_relocs failed.
+
+2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf64-x86-64.c (elf_x86_64_check_relocs): Set
+ check_relocs_failed on error.
+
+2016-04-29 Nick Clifton <nickc@redhat.com>
+
+ PR 19938
+ * elf-bfd.h (struct elf_backend_data): Rename
+ elf_backend_set_special_section_info_and_link to
+ elf_backend_copy_special_section_fields.
+ * elfxx-target.h: Likewise.
+ * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
+ comparing section flags.
+ (copy_special_section_fields): New function.
+ (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
+ Perform two scans over special sections. The first one looks for
+ a direct mapping between the output section and an input section.
+ The second scan looks for a possible match based upon section
+ characteristics.
+ * elf32-arm.c (elf32_arm_copy_special_section_fields): New
+ function. Handle setting the sh_link field of SHT_ARM_EXIDX
+ sections.
+ * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
+ elf32_i386_copy_solaris_special_section_fields.
+ * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
+ Rename to elf32_sparc_copy_solaris_special_section_fields.
+ * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
+ elf64_x86_64_copy_solaris_special_section_fields.
+
+2016-04-28 Nick Clifton <nickc@redhat.com>
+
+ * po/zh_CN.po: Updated Chinese (simplified) translation.
+
+2016-04-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/20006
+ * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
+ when estimating distances between output sections.
+
2016-04-27 Alan Modra <amodra@gmail.com>
* elflink.c (_bfd_elf_is_start_stop): New function.