+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