+2016-09-28 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
+
+ PR ld/20636
+ * elf-bfd.h (struct elf_backend_data): Delete
+ elf_backend_count_output_relocs callback and add
+ elf_backend_update_relocs.
+ * elf32-arm.c (elf32_arm_count_output_relocs): Deleted.
+ (emit_relocs): Deleted.
+ (elf32_arm_emit_relocs): Deleted.
+ (elf_backend_emit_relocs): Updated not to use the old functions.
+ (elf32_arm_update_relocs): New function.
+ (elf_backend_update_relocs): New define.
+ * elflink.c (bfd_elf_final_link): Add additional_reloc_count to the
+ relocation count. Call elf_backend_emit_relocs.
+ (_bfd_elf_size_reloc_section): Do not call
+ elf_backend_count_output_relocs.
+ * elfxx-target.h (elf_backend_count_output_relocs): Deleted.
+ (elf_backend_update_relocs): New define.
+
+2016-09-28 Christophe Lyon <christophe.lyon@linaro.org>
+
+ PR ld/20608
+ * elf32-arm.c (arm_type_of_stub): Handle the case when the pre-PLT
+ Thumb-ARM stub is too far.
+
+2016-09-27 Nick Clifton <nickc@redhat.com>
+
+ PR ld/20634
+ * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Put 0 in the
+ timestamp field if real time values are not being stored.
+
+2016-09-26 Vlad Zakharov <vzakhar@synopsys.com>
+
+ * warning.m4 (AC_EGREP_CPP_FOR_BUILD): Introduce macro
+ to verify CC_FOR_BUILD compiler.
+ (AM_BINUTILS_WARNINGS): Introduce ac_cpp_for_build variable
+ and add CC_FOR_BUILD compiler checks.
+ * Makefile.in: Regenerate.
+ * configure: Likewise.
+ * doc/Makefile.in: Likewise.
+
+2016-09-26 Awson <kyrab@mail.ru>
+
+ PR ld/17955
+ * coff-x86_64.c (coff_amd64_rtype_to_howto): Use an 8 byte offset
+ for R_AMD64_PCRQUAD relocations.
+
+2016-09-26 Alan Modra <amodra@gmail.com>
+
+ * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Declare.
+ * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): New function.
+ (ppc_elf_merge_obj_attributes): Use it. Don't copy first file
+ attributes, merge them. Don't warn about undefined tag bits,
+ or copy unknown values to output.
+ * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Call
+ _bfd_elf_ppc_merge_fp_attributes.
+
+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
+ are parsed.
+
+2016-08-22 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (ppc_elf_check_relocs): Move error for @local ifunc..
+ (ppc_elf_relocate_section): ..to here. Comment. Error on
+ detecting -mbss-plt -fPIC local ifuncs too.
+ (ppc_elf_size_dynamic_sections): Comment on unnecessary glink
+ branch table entries.
+
+2016-08-19 Nick Clifton <nickc@redhat.com>
+
+ * elf.c (assign_section_numbers): Assign number for the .shstrtab
+ section after the symbol table and string table sections.
+
+2016-08-19 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (struct ppc_link_hash_entry): Add weakref.
+ (ppc64_elf_copy_indirect_symbol): Set weakref. Don't merge
+ dyn_relocs for weakdefs.
+ (alias_readonly_dynrelocs): New function.
+ (ppc64_elf_adjust_dynamic_symbol): Use alias_readonly_dynrelocs.
+ (ppc64_elf_relocate_section): Simplify condition under which
+ dyn_relocs are emitted.
+
+2016-08-19 Alan Modra <amodra@gmail.com>
+
+ PR 20472
+ * elf64-ppc.c (ppc64_elf_before_check_relocs): Tweak abiversion test.
+ (readonly_dynrelocs): Comment fix.
+ (global_entry_stub): New function.
+ (ppc64_elf_adjust_dynamic_symbol): Tweak abiversion test. Match
+ ELFv2 code deciding on dynamic relocs vs. global entry stubs to
+ that in size_global_entry_stubs, handling ifunc too. Delete dead
+ weak sym code.
+ (allocate_dynrelocs): Ensure dyn_relocs field is cleared when no
+ dyn_relocs are needed. Correct handling of ifunc dyn_relocs.
+ Tidy ELIMINATE_COPY_RELOCS code, only setting dynindx for
+ undefweak syms. Expand and correct comments.
+ (size_global_entry_stubs): Ensure symbol is defined.
+ (ppc64_elf_relocate_section): Match condition under which
+ dyn_relocs are emitted to that in allocate_dynrelocs.
+
+2016-08-12 Alan Modra <amodra@gmail.com>
+
+ * elf-bfd.h (struct elf_link_hash_table): Add local_dynsymcount.
+ * elflink.c (_bfd_elf_link_renumber_dynsyms): Set local_dynsymcount.
+ (bfd_elf_final_link): Set .dynsym sh_info from local_dynsymcount.
+
+2016-08-11 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't exit with
+ non_got_ref true in any case where we could have generated dynbss
+ copies but decide not to do so.
+
+2016-08-10 Maciej W. Rozycki <macro@imgtec.com>
+
+ * elfxx-mips.c (mips_elf_add_la25_stub): Clear the ISA bit of
+ the stub address retrieved if associated with a microMIPS
+ function.
+
+2016-08-10 Maciej W. Rozycki <macro@imgtec.com>
+
+ * elfxx-mips.c (mips_elf_create_stub_symbol): For a microMIPS
+ stub also add STO_MICROMIPS annotation.
+
+2016-08-10 Maciej W. Rozycki <macro@imgtec.com>
+
+ * elfxx-mips.c (mips_elf_calculate_relocation): Set the ISA bit
+ in microMIPS LA25 stub references.
+
+2016-08-09 Jiaming Wei <jmwei@hxgpt.com>
+
+ * elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Fix thinko
+ adjusting the use_count of merged .got entries.
+
+2016-08-08 Nick Clifton <nickc@redhat.com>
+
+ * doc/chew.c (delete_string): Only free the string buffer if it is
+ there. Mark the buffer as NULL after freeing.
+ (drop): Free the dropped string.
+ (free_words): New function: Frees the memory allocated to the
+ dictionary.
+ (add_instrinsic): Duplicate the name string, so that it can be
+ freed later on.
+ (compile): Free unused words.
+ (main): Free the dictionary and top level string buffers at the
+ end.
+
+2016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add one parameter.
+ * bfd-in2.h: Regenerate.
+ * elf32-arm.c (struct elf32_arm_link_hash_table): Declare new
+ cmse_implib field.
+ (bfd_elf32_arm_set_target_relocs): Add new parameter to initialize
+ cmse_implib field in struct elf32_arm_link_hash_table.
+ (elf32_arm_filter_cmse_symbols): New function.
+ (elf32_arm_filter_implib_symbols): Likewise.
+ (elf_backend_filter_implib_symbols): Define to
+ elf32_arm_filter_implib_symbols.
+
+2016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * elf32-arm.c (CMSE_PREFIX): Define macro.
+ (elf32_arm_stub_cmse_branch_thumb_only): Define stub sequence.
+ (cmse_branch_thumb_only): Declare stub.
+ (struct elf32_arm_link_hash_table): Define cmse_stub_sec field.
+ (elf32_arm_get_plt_info): Add globals parameter. Use it to return
+ FALSE if there is no PLT.
+ (arm_type_of_stub): Adapt to new elf32_arm_get_plt_info signature.
+ (elf32_arm_final_link_relocate): Likewise.
+ (elf32_arm_gc_sweep_hook): Likewise.
+ (elf32_arm_gc_mark_extra_sections): Mark sections holding ARMv8-M
+ secure entry functions.
+ (arm_stub_is_thumb): Add case for arm_stub_cmse_branch_thumb_only.
+ (arm_dedicated_stub_output_section_required): Change to a switch case
+ and add a case for arm_stub_cmse_branch_thumb_only.
+ (arm_dedicated_stub_output_section_required_alignment): Likewise.
+ (arm_stub_dedicated_output_section_name): Likewise.
+ (arm_stub_dedicated_input_section_ptr): Likewise and remove
+ ATTRIBUTE_UNUSED for htab parameter.
+ (arm_stub_required_alignment): Likewise.
+ (arm_stub_sym_claimed): Likewise.
+ (arm_dedicated_stub_section_padding): Likewise.
+ (cmse_scan): New function.
+ (elf32_arm_size_stubs): Call cmse_scan for ARM M profile targets.
+ Set stub_changed to TRUE if such veneers were created.
+ (elf32_arm_swap_symbol_in): Add detection code for CMSE special
+ symbols.
+
+2016-08-02 Alan Modra <amodra@gmail.com>
+
+ PR ld/20428
+ * elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group.
+
+2016-08-02 Nick Clifton <nickc@redhat.com>
+
+ PR ld/17739
+ * elf32-sh.c (sh_elf_gc_sweep_hook): Delete.
+ (elf_backend_sweep_hook): Delete.
+
+2016-08-01 Andrew Jenner <andrew@codesourcery.com>
+ Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ * elf32-ppc.c (is_branch_reloc): Recognise VLE branch relocations.
+ (ppc_elf_howto_raw): Fix dst_mask of R_PPC_VLE_REL15.
+ (ppc_elf_vle_split16): Clear field before inserting.
+
+2016-08-01 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+
+2016-07-27 Ozkan Sezer <sezeroz@gmail.com>
+ Nick Clifton <nickc@redhat.com>
+
+ PR ld/20401
+ * coffgen.c (fini_reloc_cookie_rels): Check for the extistence
+ of the coff_section_data before using it.
+
+2016-07-26 Maciej W. Rozycki <macro@imgtec.com>
+
+ * elfxx-mips.c (mips_elf_calculate_relocation): Handle branches
+ in PLT compression selection.
+ (_bfd_mips_elf_check_relocs): Likewise.
+
+2016-07-22 Cupertino Miranda <cmiranda@synopsys.com>
+
+ * arc-got.h (relocate_fix_got_relocs_for_got_info): Handle the
+ case where there's no elf_link_hash_entry while processing
+ GOT_NORMAL got entries.
+
+2016-07-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * version.m4 (BFD_VERSION): Set to 2.27.51.
+ * configure: Regenerated.
+
+2016-07-21 Nick Clifton <nickc@redhat.com>
+
+ * elf.c (_bfd_elf_filter_global_symbols): Skip local symbols.
+ (swap_out_syms): Return an error when not finding ELF output
+ section rather than asserting.
+
+2016-07-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * elflink.c (elf_output_implib): Call bfd_set_error on no symbols.
+
+2016-07-20 John Baldwin <jhb@FreeBSD.org>
+
+ * elf.c (elfcore_grok_freebsd_psinfo): Check for minimum note size
+ and handle pr_pid if present.
+
+2016-07-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/20376
+ * elf.c (assign_file_positions_for_load_sections): Also check
+ p_paddr for program header space.
+
+2016-07-20 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_PLTREL32>): Put
+ ppc64_elf_unhandled_reloc for special_function.
+ * elf32-ppc.c (ppc_elf_howto_raw): Similarly for lots of relocs.
+
+2016-07-19 Maciej W. Rozycki <macro@imgtec.com>
+
+ * elfxx-mips.c (mips_elf_perform_relocation): Convert cross-mode
+ BAL to JALX.
+ (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add a
+ corresponding error message.
+
+2016-07-19 Maciej W. Rozycki <macro@imgtec.com>
+
+ * elfxx-mips.c (b_reloc_p): Add R_MICROMIPS_PC16_S1,
+ R_MICROMIPS_PC10_S1 and R_MICROMIPS_PC7_S1.
+ (branch_reloc_p): New function.
+ (mips_elf_calculate_relocation): Handle ISA mode determination
+ for relocations against section symbols, against absolute
+ symbols and absolute relocations. Also set `*cross_mode_jump_p'
+ for branches.
+ <R_MIPS16_26, R_MIPS_26, R_MICROMIPS_26_S1>: Suppress alignment
+ checks for weak undefined symbols. Also check target alignment
+ within the same ISA mode.
+ <R_MIPS_PC16, R_MIPS_GNU_REL16_S2>: Handle cross-mode branches
+ in the alignment check.
+ <R_MICROMIPS_PC7_S1>: Add an alignment check.
+ <R_MICROMIPS_PC10_S1>: Likewise.
+ <R_MICROMIPS_PC16_S1>: Likewise.
+ (mips_elf_perform_relocation): Report a failure for unsupported
+ same-mode JALX instructions and cross-mode branches.
+ (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add
+ error messages for jumps to misaligned addresses.
+
+2016-07-16 Alan Modra <amodra@gmail.com>
+
+ * elflink.c: Include plugin-api.h.
+ * plugin.c (bfd_plugin_open_input): New function, extracted from..
+ (try_claim): ..here.
+ * plugin.h: Don't include bfd.h.
+ (bfd_plugin_open_input): Declare.
+
+2016-07-16 Alan Modra <amodra@gmail.com>
+
+ * targets.c (bfd_seach_for_target): Rename to..
+ (bfd_iterate_over_targets): ..this. Rewrite doc.
+ * bfd-in2.h: Regenerate.
+
+2016-07-16 Alan Modra <amodra@gmail.com>
+
+ * archures.c (bfd_default_set_arch_mach): Make available in bfd.h.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+
+2016-07-16 Alan Modra <amodra@gmail.com>
+
+ * libbfd-in.h (BFD_ALIGN): Move to..
+ * bfd-in.h: ..here.
+ * elf32-ppc.h (struct ppc_elf_params): Add pagesize.
+ * elf32-ppc.c (default_params): Adjust init.
+ (ppc_elf_link_params): Set pagesize_p2.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+
+2016-07-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * elf-bfd.h (elf_backend_filter_implib_symbols): Declare backend hook.
+ (_bfd_elf_filter_global_symbols): Declare.
+ * elf.c (_bfd_elf_filter_global_symbols): New function.
+ * elflink.c (elf_filter_global_symbols): Likewise.
+ (elf_output_implib): Likewise.
+ (bfd_elf_final_link): Call above function, failing if it does.
+ * elfxx-target.h (elf_backend_filter_implib_symbols): Define macro and
+ default it to NULL.
+ (elf_backend_copy_indirect_symbol): Fix spacing.
+ (elf_backend_hide_symbol): Likewise.
+ (elfNN_bed): Initialize elf_backend_filter_implib_symbols backend hook.
+
+2016-07-15 Andrew Burgess <andrew.burgess@embecosm.com>
+ Nick Clifton <nickc@redhat.com>
+
+ * elf32-arc.c (PR_DEBUG): Delete.
+ Fix printing of debug information. Fix formatting of debug
+ statements.
+ (debug_arc_reloc): Handle symbols that are not from an input file.
+ (arc_do_relocation): Remove excessive exclamation points.
+
+ * arc-got.h: Fix formatting. Fix printing of debug information.
+ (new_got_entry_to_list): Use xmalloc.
+ * config.bfd: use the big-endian arc vector as the default vector
+ for big-endian arc targets.
+
+2016-07-15 Alan Modra <amodra@gmail.com>
+
+ * cofflink.c (mark_relocs): Exclude relocs with -1 r_symndx
+ from marking sym_indices.
+
+2016-07-14 Maciej W. Rozycki <macro@imgtec.com>
+
+ * reloc.c (bfd_perform_relocation): Try the `howto' handler
+ first with relocations against absolute symbols.
+ (bfd_install_relocation): Likewise.
+
+2016-07-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
+ .got/.got.plt sections to 8 bytes.
+
+2016-07-12 Nick Clifton <nickc@redhat.com>
+
+ * binary.c (binary_set_section_contents): Second grammar fix.
+
+2016-07-12 Douglas B Rupp <rupp@adacore.com>
+
+ * binary.c (binary_set_section_contents): Fix grammar in warning
+ message.
+
+2016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
+
+ * elf32-arc.c: made PR_DEBUG always defined.
+
+2016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
+
+ * arc-got.h: Moved got related structures from elf32-arc.c to
+ this file. More precisely, tls_type_e, tls_got_entries, got_entry.
+ * (arc_get_local_got_ents, got_entry_for_type, new_got_entry_to_list,
+ tls_type_for_reloc, symbol_has_entry_of_type,
+ get_got_entry_list_for_symbol, arc_got_entry_type_for_reloc,
+ ADD_SYMBOL_REF_SEC_AND_RELOC, rc_fill_got_info_for_reloc,
+ relocate_fix_got_relocs_for_got_info,
+ create_got_dynrelocs_for_single_entry,
+ create_got_dynrelocs_for_got_info): Added to file.
+ * elf32-arc.c: Removed GOT & TLS related structs and functions to
+ arc-got.h.
+
+2016-07-08 James Bowman <james.bowman@ftdichip.com>
+
+ * elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32.
+
+2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
+
+ * elf32-arm.c (THUMB32_MOVT): New veneer macro.
+ (THUMB32_MOVW): Likewise.
+ (elf32_arm_stub_long_branch_thumb2_only_pure): New.
+ (DEF_STUBS): Define long_branch_thumb2_only_pure.
+ (arm_stub_is_thumb): Add new veneer stub.
+ (arm_type_of_stub): Use new veneer.
+ (arm_stub_required_alignment): Add new veneer.
+
+2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
+
+ * bfd-in2.h (SEC_ELF_NOREAD): Rename to ...
+ (SEC_ELF_PURECODE): ... this.
+ * elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD
+ to SEC_ELF_NOREAD.
+ (elf32_arm_fake_sections): Likewise.
+ (elf_32_arm_section_flags): Likewise.
+ (elf_32_arm_lookup_section_flags): Likewise.
+ * section.c (SEC_ELF_NOREAD): Rename to ...
+ (SEC_ELF_PURECODE): ... this.
+
+2016-07-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * elf32-arm.c (using_thumb2_bl): New function.
+ (arm_type_of_stub): Declare thumb2 variable together and change type
+ to bfd_boolean. Use using_thumb2_bl () to determine whether
+ THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be
+ checked for BL range.
+ (elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine
+ the bit size of BL offset.
+
+2016-06-29 Nick Clifton <nickc@redhat.com>
+
+ * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function.
+ Returns TRUE for AArch64 mapping symbols.
+ (elfNN_aarch64_backend_symbol_processing): New function. Marks
+ mapping symbols as precious in object files so that they will not
+ be stripped.
+ (elf_backend_symbol_processing): Define.
+
+ * elf32-arm.c (is_arm_mapping_symbol): New function. Returns TRUE
+ for ARM mapping symbols.
+ (elf32_arm_backend_symbol_processing): Make use of the new function.
+
+2016-06-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/20306
+ * elflink.c (elf_link_check_versioned_symbol): Return false
+ for unreferenced undefined symbol.
+
+2016-06-28 Nick Clifton <nickc@redhat.com>
+
+ * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
+ is needed.
+
+ * elf32-arm.c (elf32_arm_backend_symbol_processing): New
+ function. Marks mapping symbols in object files as precious, so
+ that strip will not remove them.
+ (elf_backend_symbol_processing): Define.
+
+2016-06-28 James Clarke <jrtc27@jrtc27.com>
+
+ * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
+ R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
+
+2016-06-28 Maciej W. Rozycki <macro@imgtec.com>
+
+ * elf32-mips.c (elf_mips16_howto_table_rel): Add
+ R_MIPS16_PC16_S1.
+ (mips16_reloc_map): Likewise.
+ * elf64-mips.c (mips16_elf64_howto_table_rel): Likewise.
+ (mips16_elf64_howto_table_rela): Likewise.
+ (mips16_reloc_map): Likewise.
+ * elfn32-mips.c (elf_mips16_howto_table_rel): Likewise.
+ (elf_mips16_howto_table_rela): Likewise.
+ (mips16_reloc_map): Likewise.
+ * elfxx-mips.c (mips16_branch_reloc_p): New function.
+ (mips16_reloc_p): Handle R_MIPS16_PC16_S1.
+ (b_reloc_p): Likewise.
+ (mips_elf_calculate_relocation): Likewise.
+ (_bfd_mips_elf_check_relocs): Likewise.
+ * reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+2016-06-27 Alan Modra <amodra@gmail.com>
+
+ PR ld/19264
+ * elf64-ppc.c (STUB_SHRINK_ITER): Define.
+ (ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
+ if shrinking stubs.
+ (ppc64_elf_size_stubs): Adjust to suit.
+
+2016-06-27 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
+
+ * elf32-dlx.h: New file.
+ * elf32-dlx.c: Adjust.
+
+2016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
+
+ * elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
+
+2016-06-24 John Baldwin <jhb@FreeBSD.org>
+
+ * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
+ notes.
+
+2016-06-24 John Baldwin <jhb@FreeBSD.org>
+
+ * elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for
+ FreeBSD. Remove case for NT_FREEBSD_THRMISC.
+ (elfcore_grok_freebsd_psinfo): New function.
+ (elfcore_grok_freebsd_prstatus): New function.
+ (elfcore_grok_freebsd_note): New function.
+ (elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD"
+ notes.
+
+2016-06-24 Joel Brobecker <brobecker@adacore.com>
+
+ * elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather
+ than its existance.
+
+2016-06-24 Alan Modra <amodra@gmail.com>
+
+ * config.bfd: Delete mips vxworks patterns matched earlier.
+ Combine mips*-*-none with mips*-*-elf*.
+
+2016-06-21 Maciej W. Rozycki <macro@imgtec.com>
+
+ * elfxx-mips.c (mips_elf_perform_relocation): Call
+ `info->callbacks->einfo' rather than `*_bfd_error_handler' and
+ use the `%X%H' format for the cross-mode jump conversion error
+ message. Remove the full stop from the end of the message.
+ Continue processing rather than returning failure.
+
+2016-06-21 Graham Markall <graham.markall@embecosm.com>
+
+ * archures.c: Remove bfd_mach_arc_nps400.
+ * bfd-in2.h: Likewise.
+ * cpu-arc.c (arch_info_struct): Likewise.
+ * elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing):
+ Likewise.
+
+2016-06-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/18250
+ PR ld/20267
+ * elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is
+ defined.
+ (elf_link_is_defined_archive_symbol): Call
+ bfd_link_plugin_object_p on unknown plugin object and use the
+ IR symbol table if the input is an IR object.
+ * plugin.c (bfd_link_plugin_object_p): New function.
+ * plugin.h (bfd_link_plugin_object_p): New prototype.
+
+2016-06-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/20276
+ * elflink.c (elf_link_add_object_symbols): Don't check alignment
+ on symbol from plugin dummy input.
+
+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>