+2016-10-07 Alan Modra <amodra@gmail.com>
+
+ * targets.c (bfd_target <_bfd_merge_private_bfd_data>): Replace
+ obfd param with struct bfd_link_info param. Update all callers.
+ * linker.c (bfd_merge_private_bfd_data): Likewise.
+ (_bfd_generic_verify_endian_match): Likewise.
+ * aoutf1.h (sunos_merge_private_bfd_data): Likewise.
+ * coff-arm.c (coff_arm_merge_private_bfd_data): Likewise.
+ * elf-attrs.c (_bfd_elf_merge_object_attributes): Likewise.
+ * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Likewise.
+ (_bfd_elf_merge_object_attributes): Likewise.
+ * elf-m10300.c (_bfd_mn10300_elf_merge_private_bfd_data): Likewise.
+ * elf-s390-common.c (elf_s390_merge_obj_attributes): Likewise.
+ * elf32-arc.c (arc_elf_merge_private_bfd_data): Likewise.
+ * elf32-arm.c (elf32_arm_merge_eabi_attributes): Likewise.
+ (elf32_arm_merge_private_bfd_data): Likewise.
+ * elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Likewise.
+ * elf32-cr16.c (_bfd_cr16_elf_merge_private_bfd_data): Likewise.
+ * elf32-cris.c (cris_elf_merge_private_bfd_data): Likewise.
+ * elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise.
+ * elf32-h8300.c (elf32_h8_merge_private_bfd_data): Likewise.
+ * elf32-i370.c (i370_elf_merge_private_bfd_data): Likewise.
+ * elf32-iq2000.c (iq2000_elf_merge_private_bfd_data): Likewise.
+ * elf32-m32c.c (m32c_elf_merge_private_bfd_data): Likewise.
+ * elf32-m32r.c (m32r_elf_merge_private_bfd_data): Likewise.
+ * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
+ * elf32-m68hc1x.h (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
+ * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Likewise.
+ * elf32-mcore.c (mcore_elf_merge_private_bfd_data): Likewise.
+ * elf32-mep.c (mep_elf_merge_private_bfd_data): Likewise.
+ * elf32-msp430.c (elf32_msp430_merge_mspabi_attributes): Likewise.
+ (elf32_msp430_merge_private_bfd_data): Likewise.
+ * elf32-mt.c (mt_elf_merge_private_bfd_data): Likewise.
+ * elf32-nds32.c (nds32_elf_merge_private_bfd_data): Likewise.
+ * elf32-nios2.c (nios2_elf32_merge_private_bfd_data): Likewise.
+ * elf32-or1k.c (elf32_or1k_merge_private_bfd_data): Likewise.
+ * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Likewise.
+ (ppc_elf_merge_obj_attributes): Likewise.
+ (ppc_elf_merge_private_bfd_data): Likewise.
+ * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Likewise.
+ * elf32-rx.c (rx_elf_merge_private_bfd_data): Likewise.
+ * elf32-s390.c (elf32_s390_merge_private_bfd_data): Likewise.
+ * elf32-score.c (s3_elf32_score_merge_private_bfd_data): Likewise.
+ (elf32_score_merge_private_bfd_data): Likewise.
+ * elf32-score.h (s7_elf32_score_merge_private_bfd_data): Likewise.
+ * elf32-score7.c (s7_elf32_score_merge_private_bfd_data): Likewise.
+ * elf32-sh.c (sh_merge_bfd_arch, sh_elf_merge_private_data): Likewise.
+ * elf32-sh64.c (sh64_elf_merge_private_data): Likewise.
+ * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Likewise.
+ * elf32-tic6x.c (elf32_tic6x_merge_attributes): Likewise.
+ (elf32_tic6x_merge_private_bfd_data): Likewise.
+ * elf32-v850.c (v850_elf_merge_private_bfd_data): Likewise.
+ * elf32-vax.c (elf32_vax_merge_private_bfd_data): Likewise.
+ * elf32-visium.c (visium_elf_merge_private_bfd_data): Likewise.
+ * elf32-xtensa.c (elf_xtensa_merge_private_bfd_data): Likewise.
+ * elf64-ia64-vms.c (elf64_ia64_merge_private_bfd_data): Likewise.
+ * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Likewise.
+ * elf64-s390.c (elf64_s390_merge_private_bfd_data): Likewise.
+ * elf64-sh64.c (sh_elf64_merge_private_data): Likewise.
+ * elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise.
+ * elfnn-aarch64.c (elfNN_aarch64_merge_private_bfd_data): Likewise.
+ * elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): Likewise.
+ * elfxx-mips.c (mips_elf_merge_obj_e_flags): Likewise.
+ (mips_elf_merge_obj_attributes): Likewise.
+ (_bfd_mips_elf_merge_private_bfd_data): Likewise.
+ * elfxx-mips.h (_bfd_mips_elf_merge_private_bfd_data): Likewise.
+ * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Likewise.
+ * elfxx-sparc.h (_bfd_sparc_elf_merge_private_bfd_data): Likewise.
+ * elfxx-target.h (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
+ * elfxx-tilegx.c (_bfd_tilegx_elf_merge_private_bfd_data): Likewise.
+ * elfxx-tilegx.h (_bfd_tilegx_elf_merge_private_bfd_data): Likewise.
+ * libbfd-in.h (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+2016-10-07 Alan Modra <amodra@gmail.com>
+
+ * Makefile.am (LIBBFD_H_FILES): Update.
+ * doc/Makefile.am (LIBBFD_H_DEP): Likewise.
+ * cpu-sh.c (sh_merge_bfd_arch): Move to..
+ * elf32-sh.c: ..here, and make static.
+ * elf32-arc.c (arc_elf_merge_private_bfd_data): Delete extraneous
+ error.
+ * elf32-cris.c (cris_elf_merge_private_bfd_data): Don't call
+ _bfd_generic_verify_endian_match.
+ * elf32-microblaze.c (microblaze_elf_merge_private_bfd_data): Delete.
+ (bfd_elf32_bfd_merge_private_bfd_data): Define as
+ _bfd_generic_verify_endian_match.
+ * elf32-mt.c (mt_elf_merge_private_bfd_data): Don't test
+ boolean == FALSE.
+ * elf32-xgate.c (_bfd_xgate_elf_merge_private_bfd_data): Delete.
+ (bfd_elf32_bfd_merge_private_bfd_data): Don't define.
+ * elf32-xgate.h (_bfd_xgate_elf_merge_private_bfd_data): Delete.
+ * libbfd-in.h (_bfd_generic_verify_endian_match): Delete.
+ * libbfd.c (_bfd_generic_verify_endian_match): Move to..
+ * linker.c: ..here, and make internal.
+ * bfd.c (bfd_merge_private_bfd_data): Move to..
+ * linker.c: ..here.
+ * Makefile.in: Regenerate.
+ * doc/Makefile.in: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+2016-10-06 Alan Modra <amodra@gmail.com>
+
+ * coff-h8300.c: Spell fall through comments consistently.
+ * coffgen.c: Likewise.
+ * elf32-hppa.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-score.c: Likewise.
+ * elf32-score7.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elfxx-aarch64.c: Likewise.
+ * elfxx-mips.c: Likewise.
+ * cpu-ns32k.c: Add missing fall through comments.
+ * elf-m10300.c: Likewise.
+ * elf32-arm.c: Likewise.
+ * elf32-avr.c: Likewise.
+ * elf32-bfin.c: Likewise.
+ * elf32-frv.c: Likewise.
+ * elf32-i386.c: Likewise.
+ * elf32-microblaze.c: Likewise.
+ * elf32-nds32.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-rl78.c: Likewise.
+ * elf32-rx.c: Likewise.
+ * elf32-s390.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-tic6x.c: Likewise.
+ * elf64-ia64-vms.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-s390.c: Likewise.
+ * elf64-x86-64.c: Likewise.
+ * elflink.c: Likewise.
+ * elfnn-aarch64.c: Likewise.
+ * elfnn-ia64.c: Likewise.
+ * ieee.c: Likewise.
+ * oasys.c: Likewise.
+ * pdp11.c: Likewise.
+ * srec.c: Likewise.
+ * versados.c: Likewise.
+
+2016-10-06 Alan Modra <amodra@gmail.com>
+
+ * coffcode.h (coff_slurp_symbol_table): Revert accidental commit
+ made 2015-01-08.
+ * elf32-nds32.c (nds32_elf_grok_psinfo): Add missing break.
+ * reloc.c (bfd_default_reloc_type_lookup): Add missing breaks.
+
+2016-10-06 Alan Modra <amodra@gmail.com>
+
+ * elf32-epiphany.c (epiphany_final_link_relocate): Use bitwise
+ OR in arithmetic expression, not boolean OR.
+
+2016-09-30 Alan Modra <amodra@gmail.com>
+
+ * Makefile.am (BFD_H_FILES): Add linker.c and simple.c. Sort
+ as per comment at head of bfd-in2.h.
+ * Makefile.in: Regenerate.
+
+2016-09-30 Alan Modra <amodra@gmail.com>
+
+ * aout-adobe.c: Replace (*_bfd_error_handler) (...) with
+ _bfd_error_handler (...) throughout.
+ * aout-cris.c, * aoutx.h, * archive.c, * bfd.c, * binary.c,
+ * cache.c, * coff-alpha.c, * coff-arm.c, * coff-h8300.c,
+ * coff-i860.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c,
+ * coff-sh.c, * coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c,
+ * coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c,
+ * coffswap.h, * cpu-arm.c, * cpu-m68k.c, * cpu-sh.c, * dwarf2.c,
+ * ecoff.c, * elf-eh-frame.c, * elf-m10300.c, * elf.c, * elf32-arc.c,
+ * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c,
+ * elf32-cris.c, * elf32-crx.c, * elf32-dlx.c, * elf32-frv.c,
+ * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-lm32.c,
+ * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c,
+ * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c,
+ * elf32-mips.c, * elf32-nds32.c, * elf32-nios2.c, * elf32-or1k.c,
+ * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c,
+ * elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-sh64.c,
+ * elf32-sparc.c, * elf32-spu.c, * elf32-tic6x.c, * elf32-tilepro.c,
+ * elf32-v850.c, * elf32-vax.c, * elf32-xtensa.c, * elf64-alpha.c,
+ * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c,
+ * elf64-ppc.c, * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c,
+ * elf64-x86-64.c, * elfcode.h, * elfcore.h, * elflink.c,
+ * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-mips.c,
+ * elfxx-sparc.c, * elfxx-tilegx.c, * hpux-core.c, * i386linux.c,
+ * ieee.c, * ihex.c, * libbfd.c, * linker.c, * m68klinux.c,
+ * mach-o.c, * merge.c, * mmo.c, * oasys.c, * osf-core.c, * pdp11.c,
+ * pe-mips.c, * peXXigen.c, * pef.c, * plugin.c, * reloc.c,
+ * rs6000-core.c, * sco5-core.c, * som.c, * sparclinux.c, * srec.c,
+ * stabs.c, * syms.c, * vms-alpha.c, * vms-lib.c, * vms-misc.c,
+ * xcofflink.c: Likewise.
+
+2016-09-30 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h: Include stdarg.h.
+ * bfd.c (bfd_error_handler_type): Make like vprintf.
+ (_bfd_error_internal): Rename from _bfd_error_handler. Make static.
+ (error_handler_internal): New function, split out from..
+ (_bfd_default_error_handler): ..here. Rename to _bfd_error_handler.
+ (bfd_set_error_handler): Update.
+ (bfd_get_error_handler, bfd_get_assert_handler): Delete.
+ (_bfd_assert_handler): Make static.
+ * coffgen.c (null_error_handler): Update params.
+ * elf-bfd.h (struct elf_backend_data <link_order_error_handler>):
+ Don't use bfd_error_handler_type.
+ * elf64-mmix.c (mmix_dump_bpo_gregs): Likewise.
+ * elfxx-target.h (elf_backend_link_order_error_handler): Default
+ to _bfd_error_handler.
+ * libbfd-in.h (_bfd_default_error_handler): Don't declare.
+ (bfd_assert_handler_type): Likewise.
+ (_bfd_error_handler): Update.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+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