* elfxx-tilegx.c (tilegx_elf_relocate_section): Silence bogus warning.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index f2e40dda0f14f87069d8285458872fdbe7ed8f7d..019a05aee0a4aaf0681c7c5e6fff5fecefddbee7 100644 (file)
@@ -1,3 +1,224 @@
+2012-03-01  Alan Modra  <amodra@gmail.com>
+
+       * elfxx-tilegx.c (tilegx_elf_relocate_section): Silence bogus warning.
+
+2012-02-27  Alan Modra  <amodra@gmail.com>
+
+       * elf32-sh.c (sh_elf_osec_to_segment): Check for elf flavour bfd
+       before calling elf specific function.
+       (sh_elf_osec_readonly_p): Test for error return from above.
+
+2012-02-27  Alan Modra  <amodra@gmail.com>
+
+       * elf32-spu.c (build_stub): Fix malloc under-allocation.
+
+2012-02-25  Walter Lee  <walt@tilera.com>
+       * reloc.c: Add BFD_RELOC_TILEPRO_TLS_GD_CALL,
+       BFD_RELOC_TILEPRO_IMM8_X0_TLS_GD_ADD,
+       BFD_RELOC_TILEPRO_IMM8_X1_TLS_GD_ADD,
+       BFD_RELOC_TILEPRO_IMM8_Y0_TLS_GD_ADD,
+       BFD_RELOC_TILEPRO_IMM8_Y1_TLS_GD_ADD,
+       BFD_RELOC_TILEPRO_TLS_IE_LOAD, BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE,
+       BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE,
+       BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_LO,
+       BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_LO,
+       BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HI,
+       BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HI,
+       BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HA,
+       BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA,
+       BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_LE,
+       BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_LE,
+       BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_LE,
+       BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_LE,
+       BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_LE,
+       BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_LE,
+       BFD_RELOC_TILEGX_TLS_GD_CALL, BFD_RELOC_TILEGX_IMM8_X0_TLS_GD_ADD,
+       BFD_RELOC_TILEGX_IMM8_X1_TLS_GD_ADD,
+       BFD_RELOC_TILEGX_IMM8_Y0_TLS_GD_ADD,
+       BFD_RELOC_TILEGX_IMM8_Y1_TLS_GD_ADD, BFD_RELOC_TILEGX_TLS_IE_LOAD,
+       BFD_RELOC_TILEGX_IMM8_X0_TLS_ADD,
+       BFD_RELOC_TILEGX_IMM8_X1_TLS_ADD,
+       BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD, BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD.
+       Delete BFD_RELOC_TILEGX_IMM16_X0_HW1_GOT,
+       BFD_RELOC_TILEGX_IMM16_X1_HW1_GOT,
+       BFD_RELOC_TILEGX_IMM16_X0_HW2_GOT,
+       BFD_RELOC_TILEGX_IMM16_X1_HW2_GOT,
+       BFD_RELOC_TILEGX_IMM16_X0_HW3_GOT,
+       BFD_RELOC_TILEGX_IMM16_X1_HW3_GOT,
+       BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_GOT,
+       BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_GOT,
+       BFD_RELOC_TILEGX_IMM16_X0_HW1_TLS_GD,
+       BFD_RELOC_TILEGX_IMM16_X1_HW1_TLS_GD,
+       BFD_RELOC_TILEGX_IMM16_X0_HW2_TLS_GD,
+       BFD_RELOC_TILEGX_IMM16_X1_HW2_TLS_GD,
+       BFD_RELOC_TILEGX_IMM16_X0_HW3_TLS_GD,
+       BFD_RELOC_TILEGX_IMM16_X1_HW3_TLS_GD,
+       BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_TLS_GD,
+       BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_TLS_GD,
+       BFD_RELOC_TILEGX_IMM16_X0_HW1_TLS_IE,
+       BFD_RELOC_TILEGX_IMM16_X1_HW1_TLS_IE,
+       BFD_RELOC_TILEGX_IMM16_X0_HW2_TLS_IE,
+       BFD_RELOC_TILEGX_IMM16_X1_HW2_TLS_IE,
+       BFD_RELOC_TILEGX_IMM16_X0_HW3_TLS_IE,
+       BFD_RELOC_TILEGX_IMM16_X1_HW3_TLS_IE,
+       BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_TLS_IE,
+       BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_TLS_IE.
+       * elf32-tilepro.c (tilepro_elf_howto_table): Update tilepro
+       relocations.
+       (tilepro_reloc_map): Ditto.
+       (tilepro_info_to_howto_rela): Ditto.
+       (reloc_to_create_func): Ditto.
+       (tilepro_tls_translate_to_le): New.
+       (tilepro_tls_translate_to_ie): New.
+       (tilepro_elf_tls_transition): New.
+       (tilepro_elf_check_relocs): Handle new tls relocations.
+       (tilepro_elf_gc_sweep_hook): Ditto.
+       (allocate_dynrelocs): Ditto.
+       (tilepro_elf_relocate_section): Ditto.
+       (tilepro_replace_insn): New.
+       (insn_mask_X1): New.
+       (insn_mask_X0_no_dest_no_srca): New
+       (insn_mask_X1_no_dest_no_srca): New
+       (insn_mask_Y0_no_dest_no_srca): New
+       (insn_mask_Y1_no_dest_no_srca): New
+       (srca_mask_X0): New
+       (srca_mask_X1): New
+       (insn_tls_le_move_X1): New
+       (insn_tls_le_move_zero_X0X1): New
+       (insn_tls_ie_lw_X1): New
+       (insn_tls_ie_add_X0X1): New
+       (insn_tls_ie_add_Y0Y1): New
+       (insn_tls_gd_add_X0X1): New
+       (insn_tls_gd_add_Y0Y1): New
+       * elfxx-tilegx.c (tilegx_elf_howto_table): Update tilegx
+       relocations.
+       (tilegx_reloc_map): Ditto.
+       (tilegx_info_to_howto_rela): Ditto.
+       (reloc_to_create_func): Ditto.
+       (tilegx_elf_link_hash_table): New field disable_le_transition.
+       (tilegx_tls_translate_to_le): New.
+       (tilegx_tls_translate_to_ie): New.
+       (tilegx_elf_tls_transition): New.
+       (tilegx_elf_check_relocs): Handle new tls relocations.
+       (tilegx_elf_gc_sweep_hook): Ditto.
+       (allocate_dynrelocs): Ditto.
+       (tilegx_elf_relocate_section): Ditto.
+       (tilegx_copy_bits): New.
+       (tilegx_replace_insn): New.
+       (insn_mask_X1): New.
+       (insn_mask_X0_no_dest_no_srca): New.
+       (insn_mask_X1_no_dest_no_srca): New.
+       (insn_mask_Y0_no_dest_no_srca): New.
+       (insn_mask_Y1_no_dest_no_srca): New.
+       (insn_mask_X0_no_operand): New.
+       (insn_mask_X1_no_operand): New.
+       (insn_mask_Y0_no_operand): New.
+       (insn_mask_Y1_no_operand): New.
+       (insn_tls_ie_ld_X1): New.
+       (insn_tls_ie_ld4s_X1): New.
+       (insn_tls_ie_add_X0X1): New.
+       (insn_tls_ie_add_Y0Y1): New.
+       (insn_tls_ie_addx_X0X1): New.
+       (insn_tls_ie_addx_Y0Y1): New.
+       (insn_tls_gd_add_X0X1): New.
+       (insn_tls_gd_add_Y0Y1): New.
+       (insn_move_X0X1): New.
+       (insn_move_Y0Y1): New.
+       (insn_add_X0X1): New.
+       (insn_add_Y0Y1): New.
+       (insn_addx_X0X1): New.
+       (insn_addx_Y0Y1): New.
+       * libbfd.h: Regenerate.
+       * bfd-in2.h: Regenerate.
+
+2012-02-25  Walter Lee  <walt@tilera.com>
+
+       * config.bfd (tilegx-*-*): rename little endian vector; add big
+       endian vector.
+       (tilegxbe-*-*): New case.
+       * configure.in (bfd_elf32_tilegx_vec): Rename...
+       (bfd_elf32_tilegx_le_vec): ... to this.
+       (bfd_elf32_tilegx_be_vec): New vector.
+       (bfd_elf64_tilegx_vec): Rename...
+       (bfd_elf64_tilegx_le_vec): ... to this.
+       (bfd_elf64_tilegx_be_vec): New vector.
+       * configure: Regenerate.
+       * elf32-tilegx.c (TARGET_LITTLE_SYM): Rename.
+       (TARGET_LITTLE_NAME): Ditto.
+       (TARGET_BIG_SYM): Define.
+       (TARGET_BIG_NAME): Define.
+       * elf64-tilegx.c (TARGET_LITTLE_SYM): Rename.
+       (TARGET_LITTLE_NAME): Ditto.
+       (TARGET_BIG_SYM): Define.
+       (TARGET_BIG_NAME): Define.
+       * targets.c (bfd_elf32_tilegx_vec): Rename...
+       (bfd_elf32_tilegx_le_vec): ... to this.
+       (bfd_elf32_tilegx_be_vec): Declare.
+       (bfd_elf64_tilegx_vec): Rename...
+       (bfd_elf64_tilegx_le_vec): ... to this.
+       (bfd_elf64_tilegx_be_vec): Declare.
+       (_bfd_target_vector): Add / rename above vectors.
+       * arctures.c (bfd_architecture): Define bfd_mach_tilegx32.
+       * bfd-in2.h: Regenerate.
+       * cpu-tilegx.c (bfd_tilegx32_arch): define.
+       (bfd_tilegx_arch): link to bfd_tilegx32_arch.
+
+2012-02-24  Nick Clifton  <nickc@redhat.com>
+
+       PR ld/13730
+       * reloc.c (bfd_generic_get_relocated_section_contents): Issue an
+       error message instead of aborting, when an outofrange reloc is
+       encountered.
+
+2012-02-23  Iain Sandoe  <idsandoe@googlemail.com>
+
+       * mach-o.c (bfd_mach_o_swap_in_non_scattered_reloc): New.
+       (bfd_mach_o_canonicalize_one_reloc):  Swap non-scattered reloc
+       bit-fields when target and host differ in endian-ness.  When
+       PAIRs are non-scattered find the 'symbol' from the preceding
+       reloc.  Add FIXME re. reloc symbols on section boundaries.
+       (bfd_mach_o_swap_out_non_scattered_reloc): New.
+       (bfd_mach_o_write_relocs): Use bfd_mach_o_encode_non_scattered_reloc.
+
+2012-02-17  Iain Sandoe  <idsandoe@googlemail.com>
+
+       * mach-o-i386.c (i386_howto_table): Add support for 16 bit
+       sect-diffs.
+       (bfd_mach_o_i386_swap_reloc_in): Handle 16bit sect-diffs.
+       (bfd_mach_o_i386_swap_reloc_out): Likewise.
+
+2012-02-17  Tristan Gingold  <gingold@adacore.com>
+
+       * reloc.c (BFD_RELOC_MACH_O_LOCAL_SECTDIFF):
+       * libbfd.h: Regenerated.
+       * bfd-in2.h: Likewise.
+       * mach-o-i386.c (i386_howto_table): Include local sectdiff.
+       (bfd_mach_o_i386_swap_reloc_in): Update for local sectdiff.
+       (bfd_mach_o_i386_swap_reloc_out): Likewise.
+
+2012-02-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * elf32-s390.c (elf_s390_relocate_section): Support basr in the
+       GD->LE and LD->LE optimizations.
+
+2012-02-16  Alan Modra  <amodra@gmail.com>
+
+       PR binutils/13355
+       * elf32-rx.c (elf32_rx_relax_section): Correct width check.
+
+2012-02-13  Richard Henderson  <rth@redhat.com>
+
+       PR ld/13621
+       * linker.c (fix_syms): Force symbols outside any section into
+       bfd_abs_section_ptr.
+
+2012-02-13  Alan Modra  <amodra@gmail.com>
+
+       * elf32-m68hc1x.c (elf32_m68hc11_merge_symbol_attribute): New function.
+       * elf32-m68hc1x.h (elf32_m68hc11_merge_symbol_attribute): Declare.
+       * elf32-m68hc11.c (elf_backend_merge_symbol_attribute): Define.
+       * elf32-m68hc12.c (elf_backend_merge_symbol_attribute): Define.
+
 2012-02-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
            Nick Clifton  <nickc@redhat.com>
 
This page took 0.035847 seconds and 4 git commands to generate.