• Walter Lee's avatar
    Add support for constructing pc-relative addresses to the plt, by · e5b95258
    Walter Lee authored
    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.
    e5b95258
bfd-in2.h 219 KB