Add the GOT base for GOT32 relocs against IFUNC
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index b63811b4754562f887bd31ab641d5f6eb0bb0bd2..9cfd09e10cf061c2288b41c64273f717a29b700b 100644 (file)
@@ -1,3 +1,852 @@
+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.
+
+2016-05-11  Alan Modra  <amodra@gmail.com>
+
+       * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
+       (elf32_hppa_check_relocs): Don't set dynobj.
+       (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
+       (elf32_hppa_build_stubs): Likewise.
+       * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
+
+2016-05-11  Alan Modra  <amodra@gmail.com>
+
+       PR 20060
+       * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
+       * elf32-ppc.c (ppc_elf_tls_setup): Likewise.
+
+2016-05-10  Jiong Wang  <jiong.wang@arm.com>
+
+       * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
+       aarch64_tls_transition check.
+
+2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
+       enumerator.
+       (arm_stub_sym_claimed): New function.
+       (elf32_arm_create_stub): Use veneered symbol name and section if
+       veneer needs to claim its symbol, and keep logic unchanged otherwise.
+       (arm_stub_claim_sym): New function.
+       (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
+       veneered symbol, otherwise create local symbol as before.
+
+2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * elf32-arm.c (elf32_arm_size_stubs): Use new macros
+       ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
+       and set branch type of a symbol.
+       (bfd_elf32_arm_process_before_allocation): Likewise.
+       (elf32_arm_relocate_section): Likewise and fix identation along the
+       way.
+       (allocate_dynrelocs_for_symbol): Likewise.
+       (elf32_arm_finish_dynamic_symbol): Likewise.
+       (elf32_arm_swap_symbol_in): Likewise.
+       (elf32_arm_swap_symbol_out): Likewise.
+
+2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
+       * bfd-in2.h: Regenerated.
+       * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
+       parameter to add_stub_section callback.
+       (elf32_arm_create_or_find_stub_sec): Get output section from link_sec
+       and pass it down to add_stub_section.
+       (elf32_arm_add_stub): Set section to stub_sec if NULL before using it
+       for error message.
+       (elf32_arm_size_stubs): Add output section parameter to
+       add_stub_section function pointer parameter.
+
+2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * elf32-arm.c (elf32_arm_create_stub): New function.
+       (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
+
+2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * elf32-arm.c (enum elf32_arm_stub_type): Delete
+       arm_stub_a8_veneer_lwm enumerator.
+       (arm_stub_a8_veneer_lwm): New unsigned constant to replace
+       aforementioned enumerator.
+       (struct elf32_arm_stub_hash_entry): Delete target_addend
+       field and add source_value.
+       (struct a8_erratum_fix): Delete addend field and add target_offset.
+       (stub_hash_newfunc): Initialize source_value field amd remove
+       initialization for target_addend.
+       (arm_build_one_stub): Stop special casing Thumb relocations: promote
+       the else to being always executed, moving the
+       arm_stub_a8_veneer_b_cond specific code in it.  Remove
+       stub_entry->target_addend from points_to computation.
+       (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
+       to target symbol from start of section rather than the offset from the
+       stub address.
+       (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
+       fields from struct a8_erratum_fix's offset and target_offset
+       respectively.
+       (make_branch_to_a8_stub): Rename target variable to loc.  Compute
+       veneered_insn_loc and loc using stub_entry's source_value.
+
+2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       (elf32_arm_merge_eabi_attributes): Add merging logic for
+       Tag_DSP_extension.
+
+2016-05-10  Pip Cet  <pipcet@gmail.com>
+
+       PR ld/20059
+       * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
+       Define as _bfd_generic_copy_link_hash_symbol_type when using
+       generic hash table.
+
+2016-05-09  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/20063
+       * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
+       field before accessing sections array.
+
+2016-05-09  Christophe Monat  <christophe.monat@st.com>
+
+       PR ld/20030
+       * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
+       (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
+       to nb_words.
+       (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
+       encoding.
+       (create_instruction_vldmdb): Likewise.
+       (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
+       uses it to re-encode.
+
+2016-05-09  Nick Clifton  <nickc@redhat.com>
+
+       PR 19938
+       * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
+       commit.
+
+2016-05-09  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
+
+2016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/17550
+       * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
+       documenting that indx == -3 if symbol is defined in a discarded
+       section.
+       * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
+       symbol is defined in a discarded section.
+       (elf_link_output_extsym): Strip a global symbol defined in a
+       discarded section.
+
+2016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
+       MCU.
+
+2016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
+       conversion to ...
+       (elf_i386_convert_load_reloc): This.  New function.
+       * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
+       conversion to ...
+       (elf_x86_64_convert_load_reloc): This.  New function.
+
+2016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
+       Don't check if contents == NULL.
+       (elf_i386_tls_transition): Add from_relocate_section.  Check
+       from_relocate_section instead of contents != NULL.  Update
+       elf_i386_check_tls_transition call.
+       (elf_i386_check_relocs): Cache the section contents if
+       keep_memory is FALSE.  Pass FALSE as from_relocate_section to
+       elf_i386_tls_transition.
+       (elf_i386_relocate_section): Pass TRUE as from_relocate_section
+       to elf_i386_tls_transition.
+       (elf_backend_caches_rawsize): New.
+       * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
+       if contents == NULL.
+       (elf_x86_64_tls_transition): Add from_relocate_section.  Check
+       from_relocate_section instead of contents != NULL.
+       (elf_x86_64_check_relocs): Cache the section contents if
+       keep_memory is FALSE.  Pass FALSE as from_relocate_section to
+       elf_x86_64_tls_transition.
+       (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
+       to elf_x86_64_tls_transition.
+       (elf_backend_caches_rawsize): New.
+
+2016-05-03  Maciej W. Rozycki  <macro@imgtec.com>
+
+       PR 10549
+       * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
+       STB_GNU_UNIQUE.
+
+2016-05-03  Jiong Wang  <jiong.wang@arm.com>
+
+       * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
+       * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
+       * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
+       no_apply_dynamic_relocs.
+       (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
+       dynamic relocations generated.
+
+2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
+       setting to ...
+       (elf_i386_create_dynamic_sections): Here.
+       * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
+       interp setting to ...
+       (elf_x86_64_create_dynamic_sections): Here.
+
+2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
+       and replace (EH)->has_got_reloc with GOT_RELOC.
+       (elf_i386_fixup_symbol): Pass has_got_reloc to
+       UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+       (elf_i386_allocate_dynrelocs): Likewise.
+       (elf_i386_relocate_section): Likewise.
+       (elf_i386_finish_dynamic_symbol): Likewise.
+       (elf_i386_convert_load): Pass TRUE to
+       UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+       * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
+       GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
+       (elf_x86_64_fixup_symbol): Pass has_got_reloc to
+       UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+       (elf_x86_64_allocate_dynrelocs): Likewise.
+       (elf_x86_64_relocate_section): Likewise.
+       (elf_x86_64_finish_dynamic_symbol): Likewise.
+       (elf_x86_64_convert_load): Pass TRUE to
+       UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+
+2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (check_relocs_failed): New.
+       (elf_i386_check_relocs): Set check_relocs_failed on error.
+       (elf_i386_relocate_section): Skip if check_relocs failed.
+
+2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_check_relocs): Set
+       check_relocs_failed on error.
+
+2016-04-29  Nick Clifton  <nickc@redhat.com>
+
+       PR 19938
+       * elf-bfd.h (struct elf_backend_data): Rename
+       elf_backend_set_special_section_info_and_link to
+       elf_backend_copy_special_section_fields.
+       * elfxx-target.h: Likewise.
+       * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
+       comparing section flags.
+       (copy_special_section_fields): New function.
+       (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
+       Perform two scans over special sections.  The first one looks for
+       a direct mapping between the output section and an input section.
+       The second scan looks for a possible match based upon section
+       characteristics.
+       * elf32-arm.c (elf32_arm_copy_special_section_fields): New
+       function.  Handle setting the sh_link field of SHT_ARM_EXIDX
+       sections.
+       * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
+       elf32_i386_copy_solaris_special_section_fields.
+       * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
+       Rename to elf32_sparc_copy_solaris_special_section_fields.
+       * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
+       elf64_x86_64_copy_solaris_special_section_fields.
+
+2016-04-28  Nick Clifton  <nickc@redhat.com>
+
+       * po/zh_CN.po: Updated Chinese (simplified) translation.
+
 2016-04-27  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/20006
This page took 0.032274 seconds and 4 git commands to generate.