+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>
+
+ * 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
+ .rela.iplt in DT_PLTRELSZ.
+ * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise,
+ for DT_PLTRELSZ and DT_RELASZ as well.
+
+2016-06-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_check_relocs): Skip relocations in
+ non-loaded, non-alloced sections.
+ * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
+
+2016-06-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before
+ allocating dynamic relocation.
+ * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
+
+2016-06-14 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+
+ PR ld/20254
+ * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc
+ offsets until reloc_toaddr.
+
+2016-06-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE.
+ Don't check symbol type for STN_UNDEF symbol index.
+ * elf64-x86-64.c (elf_x86_64_reloc_type_class): Check
+ R_X86_64_IRELATIVE. Don't check symbol type for STN_UNDEF symbol
+ index.
+
+2016-06-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * elf32-arm.c (using_thumb_only): Force review of arch check logic for
+ new architecture.
+ (using_thumb2): Try Tag_THUMB_ISA_use first and check
+ for exact arch value then. Force review of arch check logic for new
+ architecture.
+ (arch_has_arm_nop): Update and fix arch check logic. Force review of
+ that logic for new architecture.
+ (arch_has_thumb2_nop): Remove.
+ (elf32_arm_tls_relax): Use using_thumb2 instead of above function.
+ (elf32_arm_final_link_relocate): Likewise but using thumb2.
+
+2016-06-14 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h (bfd_my_archive): Delete.
+ * bfd-in2.h: Regenerate.
+
+2016-06-14 Alan Modra <amodra@gmail.com>
+
+ PR ld/20241
+ * archive.c (open_nested_file): Set my_archive.
+ * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name
+ for thin archives.
+ * bfdio.c (bfd_tell): Don't adjust origin for thin archives.
+ (bfd_seek): Likewise.
+ * bfdwin.c (bfd_get_file_window): Likewise.
+ * cache.c (cache_bmmap): Likewise.
+ (bfd_cache_lookup_worker): Don't look in my_archive for thin archives.
+ * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for
+ thin archives.
+ * plugin.c (try_claim): Likewise.
+ * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of
+ file within thin archive, not the archive.
+
+2016-06-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/20244
+ * elf32-i386.c (elf_i386_relocate_section): Add the .got.plt
+ section address for R_386_GOT32/R_386_GOT32X relocations against
+ IFUNC symbols if there is no base register and return error for
+ PIC.
+
+2016-06-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC
+ GOT32 adjustment for static executables.
+
+2016-06-13 Maciej W. Rozycki <macro@imgtec.com>
+
+ * elf32-mips.c (elf_mips_gnu_pcrel32): Update comment.
+
+2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
+
+ * elf32-arc.c (elf_arc_relocate_section): Fixed condition.
+
+2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
+
+ * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
+
+2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
+
+ * elf32-arc.c (arc_local_data, arc_local_data): Removed.
+ (SECTSTART): Changed.
+ (elf_arc_relocate_section): Fixed mistake in PIE related
+ condition.
+ (elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT.
+
+2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
+
+ * elf32-arc.c (elf32_arc_reloc_type_class): Defined function to
+ enable support for "-z combreloc" and DT_RELACOUNT.
+ (elf_backend_reloc_type_class): Likewise
+
2016-06-11 H.J. Lu <hongjiu.lu@intel.com>
PR ld/20244