aboutsummaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r--bfd/ChangeLog119
1 files changed, 119 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 2af9699..982c9a2 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,4 +1,123 @@
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.