Don't include libbfd.h outside of bfd, part 1
[external/binutils.git] / bfd / ChangeLog
index 333b882..2c67bd7 100644 (file)
+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
+       * elf32-i386.c (elf_i386_relocate_section): When relocating
+       R_386_GOT32, return error without a base register for PIC and
+       subtract the .got.plt section address only with a base register.
+
+2016-06-10  Alan Modra  <amodra@gmail.com>
+
+       * elf-strtab.c (struct strtab_save): Use size_t for "size".
+       (struct elf_strtab_hash): Likewise for "size" and "alloced".
+       (_bfd_elf_strtab_init): Formatting.
+       (_bfd_elf_strtab_add): Return size_t rather than bfd_size_type.
+       (_bfd_elf_strtab_addref): Take size_t idx param.
+       (_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise.
+       (_bfd_elf_strtab_offset): Likewise.
+       (_bfd_elf_strtab_clear_all_refs): Use size_t idx.
+       (_bfd_elf_strtab_save): Use size_t "idx" and "size" vars.
+       (_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly.
+       (_bfd_elf_strtab_finalize): Similarly.
+       * elf-bfd.h (_bfd_elf_strtab_add): Update prototypes.
+       (_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise.
+       (_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise.
+       * elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size
+       using bfd_size_type.
+       (bfd_section_from_shdr): Delete amt.
+       (_bfd_elf_init_reloc_shdr): Likewise.
+       (_bfd_elf_link_assign_sym_version): Likewise.
+       (assign_section_numbers): Use size_t reloc_count.
+       * elflink.c (struct elf_symbuf_head): Use size_t "count".
+       (bfd_elf_link_record_dynamic_symbol): Use size_t for some vars.
+       (elf_link_is_defined_archive_symbol): Likewise.
+       (elf_add_dt_needed_tag): Likewise.
+       (elf_finalize_dynstr): Likewise.
+       (elf_link_add_object_symbols): Likewise.
+       (bfd_elf_size_dynamic_sections): Likewise.
+       (elf_create_symbuf): Similarly.
+       (bfd_elf_match_symbols_in_sections): Likewise.
+       (elf_link_swap_symbols_out): Likewise.
+       (elf_link_check_versioned_symbol): Likewise.
+       (bfd_elf_gc_record_vtinherit): Likewise.
+       (bfd_elf_gc_common_finalize_got_offsets): Likewise.
+
+2016-06-08  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+
+       PR ld/20221
+       * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms
+       and relocs only if shrinking occurred.
+
+2016-06-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr.
+       (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2.
+       (elf_i386_check_tls_transition): Check indirect call and direct
+       call with the addr32 prefix for general and local dynamic models.
+       Set the tls_get_addr feild.
+       (elf_i386_convert_load_reloc): Always use addr32 prefix for
+       indirect ___tls_get_addr call via GOT.
+       (elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE
+       transitions with indirect call and direct call with the addr32
+       prefix.
+
+2016-06-07  Marcin Koƛcielnicki  <koriakin@0x04.net>
+
+       * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
+       * elf64-s390.c (elf_s390x_plt_entry): Fix comment.
+       (elf_s390_relocate_section): Fix comment.
+       (elf_s390_finish_dynamic_sections): Fix initialization of fixed
+       .got.plt entries.
+
+2016-06-07  Ulrich Weigand  <ulrich.weigand@de.ibm.com>
+
+       * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
+       section offset when calculation the larl operand in the first PLT
+       entry.
+
+2016-06-07  Alan Modra  <amodra@gmail.com>
+
+       * cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry
+       to match other 32-bit archs.
+       * elf32-ppc.c (_bfd_elf_ppc_set_arch): New function.
+       (ppc_elf_object_p): Call it.
+       (ppc_elf_special_sections): Use APUINFO_SECTION_NAME.  Fix
+       overlong line.
+       (APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here.
+       * elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch.
+       * bfd-in.h (_bfd_elf_ppc_at_tls_transform,
+       _bfd_elf_ppc_at_tprel_transform): Move to..
+       * elf-bfd.h: ..here.
+       (_bfd_elf_ppc_set_arch): Declare.
+       * bfd-in2.h: Regenerate.
+
+2016-06-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr.
+       (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2.
+       (elf_x86_64_check_tls_transition): Check indirect call and
+       direct call with the addr32 prefix for general and local dynamic
+       models.  Set the tls_get_addr feild.
+       (elf_x86_64_convert_load_reloc): Always use addr32 prefix for
+       indirect __tls_get_addr call via GOT.
+       (elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE
+       transitions with indirect call and direct call with the addr32
+       prefix.
+
+2016-06-04  Christian Groessler  <chris@groessler.org>
+
+       * coff-z8k.c (extra_case): Fix range check for R_JR relocation.
+
+2016-06-02  Nick Clifton  <nickc@redhat.com>
+
+       PR target/20088
+       * cpu-arm.c (processors): Add "arm_any" type to match any ARM
+       architecture.
+       (arch_info_struct): Likewise.
+       (architectures): Likewise.
+
+2016-06-02  Vineet Gupta  <Vineet.Gupta1@synopsys.com>
+
+       * config.bfd: Replace -uclibc with *.
+
+2016-06-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c: Replace data32 with data16 in comments.
+
+2016-05-31  Alan Modra  <amodra@gmail.com>
+
+       PR ld/20159
+       PR ld/16467
+       * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
+       (_bfd_elf_add_default_symbol): Don't indirect to/from defined
+       symbol given a version by a script different to the version
+       of the symbol being added.
+       (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
+       _bfd_elf_strtab_restore.  Don't fudge dynstr references.
+       * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
+       (struct strtab_save): New.
+       (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
+       * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
+       (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
+
+2016-06-01  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
+
+       * elf32-hppa.h: Add extern "C".
+       * elf32-nds32.h: Likewise.
+       * elf32-tic6x.h: Likewise.
+
+2016-06-01  Nick Clifton  <nickc@redhat.com>
+
+       * po/sr.po: New Serbian translation.
+       * configure.ac (ALL_LINGUAS): Add sr.
+       * configure: Regenerate.
+
+2016-05-28  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * elfxx-mips.c (b_reloc_p): New function.
+       (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle
+       branch relocations.
+
+2016-05-28  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
+       <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
+       reloc location from calculation, treat the addend as signed with
+       local non-section symbols and enable overflow detection.
+
+2016-05-28  Alan Modra  <amodra@gmail.com>
+
+       * aoutx.h: Adjust linker callback calls throughout file,
+       removing dead code.
+       * bout.c: Likewise.
+       * coff-alpha.c: Likewise.
+       * coff-arm.c: Likewise.
+       * coff-h8300.c: Likewise.
+       * coff-h8500.c: Likewise.
+       * coff-i960.c: Likewise.
+       * coff-mcore.c: Likewise.
+       * coff-mips.c: Likewise.
+       * coff-ppc.c: Likewise.
+       * coff-rs6000.c: Likewise.
+       * coff-sh.c: Likewise.
+       * coff-tic80.c: Likewise.
+       * coff-w65.c: Likewise.
+       * coff-z80.c: Likewise.
+       * coff-z8k.c: Likewise.
+       * coff64-rs6000.c: Likewise.
+       * cofflink.c: Likewise.
+       * ecoff.c: Likewise.
+       * elf-bfd.h: Likewise.
+       * elf-m10200.c: Likewise.
+       * elf-m10300.c: Likewise.
+       * elf32-arc.c: Likewise.
+       * elf32-arm.c: Likewise.
+       * elf32-avr.c: Likewise.
+       * elf32-bfin.c: Likewise.
+       * elf32-cr16.c: Likewise.
+       * elf32-cr16c.c: Likewise.
+       * elf32-cris.c: Likewise.
+       * elf32-crx.c: Likewise.
+       * elf32-d10v.c: Likewise.
+       * elf32-epiphany.c: Likewise.
+       * elf32-fr30.c: Likewise.
+       * elf32-frv.c: Likewise.
+       * elf32-ft32.c: Likewise.
+       * elf32-h8300.c: Likewise.
+       * elf32-hppa.c: Likewise.
+       * elf32-i370.c: Likewise.
+       * elf32-i386.c: Likewise.
+       * elf32-i860.c: Likewise.
+       * elf32-ip2k.c: Likewise.
+       * elf32-iq2000.c: Likewise.
+       * elf32-lm32.c: Likewise.
+       * elf32-m32c.c: Likewise.
+       * elf32-m32r.c: Likewise.
+       * elf32-m68hc1x.c: Likewise.
+       * elf32-m68k.c: Likewise.
+       * elf32-mep.c: Likewise.
+       * elf32-metag.c: Likewise.
+       * elf32-microblaze.c: Likewise.
+       * elf32-moxie.c: Likewise.
+       * elf32-msp430.c: Likewise.
+       * elf32-mt.c: Likewise.
+       * elf32-nds32.c: Likewise.
+       * elf32-nios2.c: Likewise.
+       * elf32-or1k.c: Likewise.
+       * elf32-ppc.c: Likewise.
+       * elf32-s390.c: Likewise.
+       * elf32-score.c: Likewise.
+       * elf32-score7.c: Likewise.
+       * elf32-sh.c: Likewise.
+       * elf32-sh64.c: Likewise.
+       * elf32-spu.c: Likewise.
+       * elf32-tic6x.c: Likewise.
+       * elf32-tilepro.c: Likewise.
+       * elf32-v850.c: Likewise.
+       * elf32-vax.c: Likewise.
+       * elf32-visium.c: Likewise.
+       * elf32-xstormy16.c: Likewise.
+       * elf32-xtensa.c: Likewise.
+       * elf64-alpha.c: Likewise.
+       * elf64-hppa.c: Likewise.
+       * elf64-ia64-vms.c: Likewise.
+       * elf64-mmix.c: Likewise.
+       * elf64-ppc.c: Likewise.
+       * elf64-s390.c: Likewise.
+       * elf64-sh64.c: Likewise.
+       * elf64-x86-64.c: Likewise.
+       * elflink.c: Likewise.
+       * elfnn-aarch64.c: Likewise.
+       * elfnn-ia64.c: Likewise.
+       * elfxx-mips.c: Likewise.
+       * elfxx-sparc.c: Likewise.
+       * elfxx-tilegx.c: Likewise.
+       * linker.c: Likewise.
+       * pdp11.c: Likewise.
+       * pe-mips.c: Likewise.
+       * reloc.c: Likewise.
+       * reloc16.c: Likewise.
+       * simple.c: Likewise.
+       * vms-alpha.c: Likewise.
+       * xcofflink.c: Likewise.
+       * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
+       status param.  Adjust calls to these and linker callbacks throughout.
+       * elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
+       get_ramstart): Delete status param.  Adjust calls to these and
+       linker callbacks throughout.
+
+2016-05-27  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
+       <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
+       target alignment verification.
+
+2016-05-27  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * elfxx-mips.c (mips_elf_calculate_relocation): Also use the
+       section name if `bfd_elf_string_from_elf_section' returns an
+       empty string.
+
+2016-05-26  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * elfxx-mips.c (_bfd_mips_elf_relocate_section)
+       <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
+       for message.  Continue processing rather than returning failure.
+
+2016-05-25  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * elfxx-mips.c (_bfd_mips_elf_relocate_section)
+       <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
+       Call `bfd_set_error'.
+
+2016-05-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/14625
+       * archive.c (bfd_slurp_armap): Replace
+       bfd_elf64_archive_slurp_armap with
+       _bfd_archive_64_bit_slurp_armap.
+       (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
+       BFD64 is defined and the archive is too big.
+       (coff_write_armap): Likewise.
+       * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
+       (_bfd_archive_64_bit_slurp_armap): This.
+       (bfd_elf64_archive_write_armap): Renamed to ...
+       (_bfd_archive_64_bit_write_armap): This.
+       * configure.ac: Add --enable-64-bit-archive.
+       (want_64_bit_archive): New.  Set to true by default for 64-bit
+       MIPS and s390 ELF targets.
+       (USE_64_BIT_ARCHIVE): New AC_DEFINE.
+       * config.in: Regenerated.
+       * configure: Likewise.
+       * elf64-mips.c (bfd_elf64_archive_functions): Removed.
+       (bfd_elf64_archive_slurp_armap): Likewise.
+       (bfd_elf64_archive_write_armap): Likewise.
+       (bfd_elf64_archive_slurp_extended_name_table): Likewise.
+       (bfd_elf64_archive_construct_extended_name_table): Likewise.
+       (bfd_elf64_archive_truncate_arname): Likewise.
+       (bfd_elf64_archive_read_ar_hdr): Likewise.
+       (bfd_elf64_archive_write_ar_hdr): Likewise.
+       (bfd_elf64_archive_openr_next_archived_file): Likewise.
+       (bfd_elf64_archive_get_elt_at_index): Likewise.
+       (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
+       (bfd_elf64_archive_update_armap_timestamp): Likewise.
+       * elf64-s390.c (bfd_elf64_archive_functions): Removed.
+       (bfd_elf64_archive_slurp_armap): Likewise.
+       (bfd_elf64_archive_write_armap): Likewise.
+       (bfd_elf64_archive_slurp_extended_name_table): Likewise.
+       (bfd_elf64_archive_construct_extended_name_table): Likewise.
+       (bfd_elf64_archive_truncate_arname): Likewise.
+       (bfd_elf64_archive_read_ar_hdr): Likewise.
+       (bfd_elf64_archive_write_ar_hdr): Likewise.
+       (bfd_elf64_archive_openr_next_archived_file): Likewise.
+       (bfd_elf64_archive_get_elt_at_index): Likewise.
+       (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
+       (bfd_elf64_archive_update_armap_timestamp): Likewise.
+       * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
+       BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
+       bfd_elfNN_archive_functions isn't defined.
+       (TARGET_LITTLE_SYM): Likewise.
+       * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
+       (_bfd_archive_64_bit_write_armap): Likewise.
+       (_bfd_archive_64_bit_slurp_extended_name_table): New macro.
+       (_bfd_archive_64_bit_construct_extended_name_table): Likewise.
+       (_bfd_archive_64_bit_truncate_arname): Likewise.
+       (_bfd_archive_64_bit_read_ar_hdr): Likewise.
+       (_bfd_archive_64_bit_write_ar_hdr): Likewise.
+       (_bfd_archive_64_bit_openr_next_archived_file): Likewise.
+       (_bfd_archive_64_bit_get_elt_at_index): Likewise.
+       (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
+       (_bfd_archive_64_bit_update_armap_timestamp): Likewise.
+       * libbfd.h: Regenerated.
+       * plugin.c (plugin_vec): Use _bfd_archive_64_bit on
+       BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
+
+2016-05-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/20103
+       * cofflink.c (coff_link_check_archive_element): Return TRUE if
+       linker add_archive_element callback returns FALSE.
+       * ecoff.c (ecoff_link_check_archive_element): Likewise.
+       * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
+       archive element if linker add_archive_element callback returns
+       FALSE.
+       * elflink.c (elf_link_add_archive_symbols): Likewise.
+       * pdp11.c (aout_link_check_ar_symbols): Likewise.
+       * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
+       * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
+       (xcoff_link_check_ar_symbols): Likewise.
+
+2016-05-24  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * elfxx-mips.c (_bfd_mips_elf_relocate_section)
+       <bfd_reloc_outofrange>: Unify error reporting code.
+
+2016-05-23  Jim Wilson  <jim.wilson@linaro.org>
+
+       * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
+       R_AARCH64_NONE.  Use HOWTO64 for R_AARCH64_NULL.
+       * relocs.c: Add BFD_RELOC_AARCH64_NULL.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Likewise.
+
+2016-05-23  Kuba Sejdak  <jakub.sejdak@phoesys.com>
+
+       * config.bfd: Add entry for arm-phoenix.
+
+2016-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * elf32-arm.c (arm_dedicated_stub_section_padding): New function.
+       (elf32_arm_size_stubs): Declare stub_type in a more outer scope and
+       account for padding for stub section requiring one.
+       (elf32_arm_build_stubs): Add comment to stress the importance of
+       zeroing veneer section content.
+
+2016-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
+       bfd hook.
+       * bfd-in2.h: Regenerate.
+       * elf32-arm.c (arm_dedicated_stub_output_section_required): New
+       function.
+       (arm_dedicated_stub_output_section_required_alignment): Likewise.
+       (arm_dedicated_stub_output_section_name): Likewise.
+       (arm_dedicated_stub_input_section_ptr): Likewise.
+       (elf32_arm_create_or_find_stub_sec): Add stub type parameter and
+       function description comment. Add support for dedicated output stub
+       section to given stub types.
+       (elf32_arm_add_stub): Add a stub type parameter and pass it down to
+       elf32_arm_create_or_find_stub_sec.
+       (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
+       (elf32_arm_size_stubs): Pass stub type when calling
+       elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
+       (bfd_elf32_arm_keep_private_stub_output_sections): New function.
+
+2016-05-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
+       when setting need_convert_load.
+
+2016-05-20  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
+       microMIPS JALX.
+
+2016-05-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/20117
+       * elf32-i386.c (elf_i386_convert_load_reloc): Don't check
+       R_386_GOT32X.
+       (elf_i386_convert_load): Don't convert R_386_GOT32.
+
+2016-05-20  Alan Modra  <amodra@gmail.com>
+
+       PR gas/20118
+       * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
+       SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
+
+2016-05-19  Cupertino Miranda  <cmiranda@synopsys.com>
+
+       * elf32-arc.c (arc_elf_final_write_processing): Changed.
+       (debug_arc_reloc): Likewise.
+       (elf_arc_relocate_section): Likewise.
+       (elf_arc_check_relocs): Likewise.
+       (elf_arc_adjust_dynamic_symbol): Likewise.
+       (elf_arc_add_symbol_hook): Likewise.
+
+2016-05-19  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * config.bfd: Remove `am34-*-linux*' support.
+
+2016-05-19  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
+       relocs before plt relocs.
+
+2016-05-19  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
+       before dereferencing.
+
+2016-05-18  Nick Clifton  <nickc@redhat.com>
+
+       * po/sv.po: Updated Swedish translation.
+
+2016-05-18  Alan Modra  <amodra@gmail.com>
+
+       * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
+       for each BFD.  Don't goto error_ret_free_local from outside loop.
+
+2016-05-17  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * elf-s390-common.c (elf_s390_add_symbol_hook): Remove
+       STB_GNU_UNIQUE handling.
+       * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
+       * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
+       * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
+       * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
+       * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
+       * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
+       * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
+       * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
+       * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
+       * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
+       * elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
+       (elf_backend_add_symbol_hook): Remove macro.
+       * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
+       for STB_GNU_UNIQUE symbols.
+
+2016-05-16  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * elf32-v850.c (v850_elf_copy_notes): New function, factored out
+       from...
+       (v850_elf_copy_private_bfd_data): ... here.  Call the new
+       function and `_bfd_elf_copy_private_bfd_data'.
+
+2016-05-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/20093
+       * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
+       GOTPCREL relocation against large section.
+
+2016-05-13  Alan Modra  <amodra@gmail.com>
+
+       * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
+       linker dynamic sections in calculating size and address of
+       dynamic tags rather than using output sections.  Remove asserts.
+       * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
+       * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
+       * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
+       * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
+       * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
+       * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
+       * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
+       * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
+       * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
+       * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
+       * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
+       * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
+       * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
+       * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
+       * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
+       * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
+       * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
+       * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
+       * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
+       * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
+       * elflink.c (bfd_elf_final_link): Likewise.
+       * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
+       * elfxx-sparc.c (sparc_finish_dyn): Likewise.  Adjust error message.
+       * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
+       don't set doit.  Look up dynobj section.
+       (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
+       invocation and dynamic tag vma calculation.  Don't test
+       boolean var == TRUE.
+       * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
+       DT_JMPREL calc.
+
+2016-05-13  Alan Modra  <amodra@gmail.com>
+
+       * elflink.c (elf_link_sort_relocs): Wrap overlong lines.  Fix
+       octets_per_byte.  Put dynamic .rela.plt last in link orders.
+       Assign output_offset for reloc sections rather than writing
+       sorted relocs from block corresponding to output_offset.
+
+2016-05-12  Alan Modra  <amodra@gmail.com>
+
+       * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
+
 2016-05-11  Andrew Bennett  <andrew.bennett@imgtec.com>
 
        * elfxx-mips.c (print_mips_ases): Add DSPR3.