+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