Tweak ppc32 tls_get_addr optimisation
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 5eabbd732a75fd13934db9dbe73e4ce57b1a6be2..57bc637c00dad1bf10b3e5bf260e200ffae62703 100644 (file)
@@ -1,3 +1,129 @@
+2015-02-28  Alan Modra  <amodra@gmail.com>
+
+       * elf32-ppc.c (ppc_elf_tls_setup): Set no_tls_get_addr_opt if
+       not PLT_NEW.
+
+2015-02-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (need_convert_mov_to_lea): New.
+       (elf_i386_check_relocs): Set need_convert_mov_to_lea if needed.
+       (elf_i386_convert_mov_to_lea): Return TRUE if
+       need_convert_mov_to_lea is unset.
+       * elf64-x86-64.c (need_convert_mov_to_lea): New.
+       (elf_x86_64_check_relocs): Set need_convert_mov_to_lea if needed.
+       (elf_x86_64_convert_mov_to_lea): Return TRUE if
+       need_convert_mov_to_lea is unset.
+
+2015-02-27  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/17910
+       * coffgen.c (_bfd_coff_internal_syment_name): Only check for
+       string length overflow when the string table length is actually
+       set.
+
+2015-02-27  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
+       * bfd/bfd-in2.h: Regenerate.
+       * bfd/libbfd.h: Regenerate.
+
+2015-02-26  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
+       * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix
+       TLSDESC_LD_PREL19 field width and masks.
+       (aarch64_tls_transition_without_check)
+       (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
+       (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
+       (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
+       BFD_RELOC_AARCH64_TLSDESC_LD_PREL19.
+       * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
+       (_bfd_aarch64_elf_resolve_relocation): Likewise.
+
+2015-02-26  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
+       * elfnn-aarch64.c (IS_AARCH64_TLSDESC_RELOC): Reorder R_TYPE
+       tests.
+       (aarch64_tls_transition_without_check)
+       (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
+       (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
+       (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
+       BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21.
+       * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
+       (_bfd_aarch64_elf_resolve_relocation): Likewise.
+       * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
+
+2015-02-26  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
+       * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC)
+       (elfNN_aarch64_howto_table, aarch64_tls_transition_without_check)
+       (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
+       (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
+       (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
+       BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
+       * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
+       (_bfd_aarch64_elf_resolve_relocation): Likewise.
+       * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
+
+2015-02-26  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
+       * elfnn-aarch64.c: (TLSIE_LD_GOTTREL_PREL19): Fix HOWTO bit field width.
+       (aarch64_tls_transition_without_check, aarch64_reloc_got_type)
+       (elfNN_aarch64_final_link_relocate, elfNN_aarch64_tls_relax)
+       (elfNN_aarch64_relocate_section, elfNN_aarch64_gc_sweep_hook)
+       (elfNN_aarch64_check_relocs): Handle
+       BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19.
+
+       * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
+       (_bfd_aarch64_elf_resolve_relocation): Likewise.
+
+2015-02-26  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
+       * elfnn-aarch64.c: (TLSDESC_CALL): Fix HOWTO bit field width.
+
+2015-02-26  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
+       * elfnn-aarch64.c (TLSLE_MOVW_TPREL_G2)
+       (TLSLE_MOVW_TPREL_G1, TLSLE_MOVW_TPREL_G1_NC)
+       (TLSLE_MOVW_TPREL_G0, TLSLE_MOVW_TPREL_G0_NC): Fix bit field
+       width.
+
+2015-02-26  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
+       * elfnn-aarch64.c: (TLSIE_MOVW_GOTTPREL_G0_NC): Fix HOWTO bit
+       field width.
+
+2015-02-26  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/17512
+       * coffcode.h (coff_compute_section_file_positions): Report
+       negative page sizes.
+       * elf.c (elf_fake_sections): Handle excessive alignmment powers.
+       (assign_file_positions_for_non_load_sections): Replace assertion
+       with an error message.
+       (rewrite_elf_program_header): Handle excessive segment
+       alignments.
+       * mach-o.c (bfd_mach_o_read_section_32): Likewise.
+       (bfd_mach_o_read_section_64): Likewise.
+       * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Use %B to
+       print a bfd name, not %A.
+
+2015-02-26  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (plt_stub_size, build_plt_stub): Don't build
+       thread-safe stubs for iplt.
+       (build_tls_get_addr_stub): Restore r2 immediately after call.
+
+2015-02-26  Terry Guo  <terry.guo@arm.com>
+
+       * elf32-arm.c (elf32_arm_merge_eabi_attributes): Update how we
+       merge Tag_ABI_HardFP_use.
+
+2015-02-26  Alan Modra  <amodra@gmail.com>
+
+       * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Heed -z nocopyreloc.
+       Use text relocs rather than giving an error on trying to use
+       .dynbss for protected shared lib vars.
+       * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
+
 2015-02-25  Andrew Burgess  <andrew.burgess@embecosm.com>
 
        * elf32-avr.c (struct elf_avr_section_data): New structure.
This page took 0.027262 seconds and 4 git commands to generate.