diff options
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r-- | bfd/ChangeLog | 119 |
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. |