Walter Lee
aafdd9a5fc
Add support for constructing pc-relative addresses to the plt, by
adding the necessary assembly operators and relocations.
bfd:
* reloc.c (Add BFD_RELOC_TILEGX_IMM16_X0_HW0_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X1_HW0_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X0_HW1_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X1_HW1_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X0_HW2_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X1_HW2_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X0_HW3_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X1_HW3_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL): new relocations.
* elfxx-tilegx.c (tilegx_elf_howto_table): Handle new relocations.
(tilegx_reloc_map): Ditto.
(reloc_to_create_func): Ditto.
(tilegx_elf_check_relocs): Ditto.
(tilegx_elf_gc_sweep_hook): Ditto.
(tilegx_elf_relocate_section): Ditto.
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
gas:
* tc-tilegx.c (O_hw0_plt): Define operator.
(O_hw1_plt): Ditto.
(O_hw1_last_plt): Ditto.
(O_hw2_last_plt): Ditto.
(md_begin): Handle new operators.
(emit_tilegx_instruction): Ditto.
(md_apply_fix): Ditto.
* doc/c-tilegx.texi: Document new operators.
include/elf:
* tilegx.h (R_TILEGX_IMM16_X0_HW0_PLT_PCREL): New relocation.
(R_TILEGX_IMM16_X1_HW0_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X0_HW1_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X1_HW1_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X0_HW2_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X1_HW2_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X0_HW3_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X1_HW3_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL ): Ditto.
(R_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL): Ditto.
2012-08-28 02:43:22 +00:00
..
2010-04-15 10:26:09 +00:00
2010-01-06 05:25:24 +00:00
2011-06-02 13:43:23 +00:00
2012-08-28 02:43:22 +00:00
2012-06-23 22:23:43 +00:00
2012-02-23 16:29:56 +00:00
2010-04-15 10:26:09 +00:00
2012-08-24 07:52:49 +00:00
2010-06-10 08:31:20 +00:00
2012-03-08 14:14:52 +00:00
2009-11-18 11:57:44 +00:00
2011-10-22 01:35:29 +00:00
2012-04-09 16:27:18 +00:00
2008-08-25 04:36:03 +00:00
2010-04-15 10:26:09 +00:00
2012-08-24 18:35:35 +00:00
2009-08-16 12:06:21 +00:00
2005-05-10 10:21:13 +00:00
2007-07-17 13:50:23 +00:00
2012-01-07 02:53:16 +00:00
2012-08-13 14:52:48 +00:00
2012-06-19 00:03:49 +00:00
2012-06-08 19:01:23 +00:00
2009-06-01 19:40:32 +00:00
2009-06-01 19:40:32 +00:00
2012-07-13 23:39:46 +00:00
2011-01-03 21:05:50 +00:00
2005-05-10 10:21:13 +00:00
1999-05-03 07:29:06 +00:00
1999-05-03 07:29:06 +00:00
2009-05-25 13:04:40 +00:00
2005-05-10 10:21:13 +00:00
2005-05-10 10:21:13 +00:00
2010-06-10 18:30:17 +00:00
2010-04-15 10:26:09 +00:00
2005-05-10 10:21:13 +00:00
2012-05-24 01:18:15 +00:00
2011-09-28 20:01:37 +00:00
2009-10-07 02:57:27 +00:00
2000-07-05 19:28:05 +00:00
2008-03-25 00:21:18 +00:00
2010-04-15 10:26:09 +00:00
2005-05-10 10:21:13 +00:00
2011-10-22 01:35:29 +00:00
2005-05-10 10:21:13 +00:00
2005-05-10 10:21:13 +00:00
2012-08-24 18:35:35 +00:00
2010-04-15 10:26:09 +00:00
2008-07-07 17:09:31 +00:00
2010-04-15 10:26:09 +00:00
2010-11-17 02:03:39 +00:00
2005-05-10 10:21:13 +00:00
2012-04-10 17:07:28 +00:00
2010-03-23 15:58:51 +00:00
2011-09-28 20:01:37 +00:00
2005-07-12 10:34:51 +00:00
2011-07-25 17:11:44 +00:00
2011-01-03 21:05:50 +00:00
2010-04-15 10:26:09 +00:00
2010-04-15 10:26:09 +00:00