+2016-09-23 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
+
+ PR ld/20595
+ * elf-bfd.h (struct elf_backend_data): Add
+ elf_backend_count_output_relocs callback to count relocations in
+ the final output.
+ * elf-arm.c (elf32_arm_add_relocation): Deleted.
+ (elf32_arm_write_section): Move additional relocation to emit_relocs.
+ (elf32_arm_count_output_relocs): New function.
+ (emit_relocs): New function.
+ (elf32_arm_emit_relocs): New function.
+ (elf32_arm_vxworks_emit_relocs): New function.
+ (elf_backend_emit_relocs): Updated to use the new functions.
+ (elf_backend_count_output_relocs): New define.
+ * bfd/elflink.c (bfd_elf_final_link): Do not add additional_reloc_count
+ to the relocation count.
+ (_bfd_elf_link_size_reloc_section): Use callback to count the
+ relocations which will be in output.
+ (_bfd_elf_default_count_output_relocs): New function.
+ * bfd/elfxx-target.h (elf_backend_count_output_relocs): New define.
+
+2016-09-19 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Allow
+ negative offsets to _GLOBAL_OFFSET_TABLE_ if the .got section is
+ bigger than 0x1000 bytes.
+
+2016-09-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Only mark section
+ not already marked.
+
+2016-09-14 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/20605
+ * peicode.h (pe_bfd_read_buildid): Check that the Data Directory
+ contains a valid size for the Debug directory.
+
+2016-09-14 Bhushan Attarde <bhushan.attarde@imgtec.com>
+
+ * format.c (struct bfd_preserve): New "build_id" field.
+ (bfd_preserve_save): Save "build_id".
+ (bfd_preserve_restore): Restore "build_id".
+
+2016-09-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/20550
+ * elf64-x86-64.c (elf_x86_64_relocate_section): Resolve size
+ relocation with copy relocation when building executable.
+
+2016-09-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+
+ PR ld/20545
+ * elf32-avr.c (elf32_avr_relax_delete_bytes): Add parameter
+ delete_shrinks_insn. Modify computation of shrinked_insn_address.
+ Compute shrink_boundary and adjust addend only if
+ addend_within_shrink_boundary.
+ (elf32_avr_relax_section): Modify calls to
+ elf32_avr_relax_delete_bytes to pass extra parameter.
+
+2016-09-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * elf32-arm.c (cmse_entry_fct_p): Store instruction encoding in an
+ array of bytes and use bfd_get_16 to interpret its encoding according
+ to endianness of target.
+
+2016-09-01 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (synthetic_opd): New static var.
+ (compare_symbols): Don't treat symbols in .opd specially for ELFv2.
+ (ppc64_elf_get_synthetic_symtab): Likewise. Comment.
+
+2016-08-31 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (group_sections): Delete stub14_group_size. Instead,
+ track max group size with a new "group_size" var that is reduced
+ by a factor of 1024 from the 24-bit branch size whenever a 14-bit
+ branch is seen.
+
+2016-08-31 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (ppc_elf_section_processing): Delete.
+ (elf_backend_section_processing): Don't define.
+ (ppc_elf_modify_segment_map): Set p_flags and mark valid. Don't
+ split on non-exec sections differing in SHF_PPC_VLE. When
+ splitting segments, mark size invalid.
+
+2016-08-30 Alan Modra <amodra@gmail.com>
+
+ PR 20531
+ * elf32-ppc.c (_bfd_elf_ppc_set_arch): Add missing "break".
+
+2016-08-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/14961
+ PR ld/20515
+ * elf32-i386.c (elf_i386_check_relocs): Issue an error when
+ R_386_PC32 relocation is used to call IFUNC function in PIC
+ object.
+
+2016-08-27 Alan Modra <amodra@gmail.com>
+
+ PR 20520
+ * elf.c (_bfd_elf_setup_sections): Check that SHT_GROUP sections
+ have corresponding SHF_GROUP sections.
+ (bfd_elf_set_group_contents): Comment.
+
+2016-08-27 Alan Modra <amodra@gmail.com>
+
+ PR 20519
+ * elf64-ppc.c (pc_dynrelocs): New function.
+ (ppc64_elf_relocate_section): Use it and must_be_dyn_reloc to
+ handle pic dynamic relocs.
+
+2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * bfd-in.h (struct elf32_arm_params): Define.
+ (bfd_elf32_arm_set_target_relocs): Rename into ...
+ (bfd_elf32_arm_set_target_params): This. Use a struct
+ elf32_arm_params to pass all parameters but the bfd and bfd_link_info.
+ * bfd-in2.h: Regenerate.
+ * elf32-arm.c (bfd_elf32_arm_set_target_relocs): Rename into ...
+ (bfd_elf32_arm_set_target_params): This. Pass all values via a struct
+ elf32_arm_params rather than as individual parameters.
+
+2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * elf32-arm.c (elf32_arm_get_stub_entry): Assert that we don't access
+ passed the end of htab->stub_group array.
+ (elf32_arm_create_or_find_stub_sec): Likewise.
+ (elf32_arm_create_stub): Likewise.
+
+2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
+
+ * elf32-arc.c (elf_arc_relocate_section): Changed. Set should_relocate
+ to TRUE for GOT and TLS relocs.
+
+2016-08-26 Cupertino Miranda <cmiranda@synospsys.com>
+
+ * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
+
+2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
+
+ * elf-bfd.h: Added ARC_ELF_DATA to enum elf_target_id.
+ * elf32-arc.c (struct elf_arc_link_hash_entry): Added.
+ (struct elf_arc_link_hash_table): Likewise.
+ (elf_arc_link_hash_newfunc): Likewise.
+ (elf_arc_link_hash_table_free): Likewise.
+ (arc_elf_link_hash_table_create): Likewise.
+ (elf_arc_relocate_section): Fixed conditions related to dynamic
+ (elf_arc_check_relocs): Likewise.
+ (arc_elf_create_dynamic_sections): Added
+ (elf_arc_adjust_dynamic_symbol): Changed access to .rela.bss to be done
+ through the hash table.
+
+2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
+
+ * arc-got.h (relocate_fix_got_relocs_for_got_info): Fixed addresses in
+ debug comments. Fixed address in .got related to TLS_IE_GOT dynamic
+ relocation.
+
+2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
+
+ * reloc.c: Fixed type in ARC_SECTOFF relocations. Added ARC_SDA_12
+ relocation.
+ * bfd-in2.h: Regenerated from the previous changes.
+ * libbfd.h: Regenerated from the previous changes.
+
+2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add a new parameter for
+ the input import library bfd.
+ * bfd-in2.h: Regenerate.
+ * elf32-arm.c (struct elf32_arm_link_hash_table): New in_implib_bfd
+ and new_cmse_stub_offset fields.
+ (stub_hash_newfunc): Initialize stub_offset and stub_template_size to
+ -1.
+ (elf32_arm_add_stub): Likewise for stub_offset.
+ (arm_new_stubs_start_offset_ptr): New function.
+ (arm_build_one_stub): Only allocate a stub_offset if it is -1. Allow
+ empty SG veneers to have zero relocations.
+ (arm_size_one_stub): Only initialize stub size and template
+ information for non empty veneers. Do not update veneer section size
+ if veneer already has an offset.
+ (elf32_arm_create_stub): Return the stub entry pointer or NULL instead
+ of a boolean indicating success or failure.
+ (cmse_scan): Change stub_changed parameter into an integer pointer
+ parameter cmse_stub_created to count the number of stub created and
+ adapt to change of return value in elf32_arm_create_stub.
+ (cmse_entry_fct_p): New function.
+ (arm_list_new_cmse_stub): Likewise.
+ (set_cmse_veneer_addr_from_implib): Likewise.
+ (elf32_arm_size_stubs): Define cmse_stub_created, pass its address to
+ cmse_scan instead of that of cmse_stub_changed to compute the number
+ of stub created and use it to initialize stub_changed. Call
+ set_cmse_veneer_addr_from_implib after all cmse_scan. Adapt to change
+ of return value in elf32_arm_create_stub. Use
+ arm_stub_section_start_offset () if not NULL to initialize size of
+ secure gateway veneers section. Initialize stub_offset of Cortex-A8
+ erratum fix to -1. Use ret to hold return value.
+ (elf32_arm_build_stubs): Use arm_stub_section_start_offset () if not
+ NULL to initialize size of secure gateway veneers section. Adapt
+ comment to stress the importance of zeroing veneer section content.
+ (bfd_elf32_arm_set_target_relocs): Add new in_implib_bfd parameter to
+ initialize eponymous field in struct elf32_arm_link_hash_table.
+
+2016-08-25 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * elf32-s390.c (stdarg.h): New include.
+ (elf_s390_grok_psinfo): New function.
+ (elf_s390_write_core_note): New function.
+ (elf_backend_grok_psinfo): Declare backend hook.
+ (elf_backend_write_core_note): Likewise.
+ * elf64-s390.c (stdarg.h): New include.
+ (elf_s390_grok_prstatus): New function.
+ (elf_s390_grok_psinfo): New function.
+ (elf_s390_write_core_note): New function.
+ (elf_backend_grok_prstatus): Declare backend hook.
+ (elf_backend_grok_psinfo): Likewise.
+ (elf_backend_write_core_note): Likewise.
+
+2016-08-25 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * elf32-s390.c (allocate_dynrelocs): Fix indentation.
+ (elf_s390_finish_ifunc_symbol): Likewise.
+ (elf_s390_finish_dynamic_symbol): Likewise.
+ (elf_s390_finish_dynamic_sections): Likewise.
+ (elf_s390_grok_prstatus): Likewise.
+ * elf64-s390.c (elf_s390_hash_table): Fix indentation.
+ (elf_s390_finish_dynamic_symbol): Likewise.
+
+2016-08-24 Anton Kolesov <Anton.Kolesov@synopsys.com>
+
+ * elf32-arc.c (elf32_arc_grok_prstatus): New function.
+
+2016-08-23 Nick Clifton <nickc@redhat.com>
+
+ * elf32-arm.c (elf32_arm_count_additional_relocs): Return zero if
+ there is no arm data associated with the section.
+
+2016-08-23 Alan Modra <amodra@gmail.com>
+
+ PR 20475
+ * elf32-or1k.c (or1k_elf_relocate_section): Offset from
+ _GLOBAL_OFFSET_TABLE_, not start of .got section.
+
2016-08-22 Nick Clifton <nickc@redhat.com>
* doc/chew.c (main): Free the string buffer used to files as they