From 1c2de46353b80e9e5b4d80d5edab00a42b8ba77d Mon Sep 17 00:00:00 2001 From: Sandra Loosemore Date: Mon, 3 Feb 2014 08:42:42 -0800 Subject: Nios II large-GOT relocations 2014-02-03 Sandra Loosemore include/elf/ * nios2.h (R_NIOS2_GOT_LO, R_NIOS2_GOT_HA): New. (R_NIOS2_CALL_LO, R_NIOS2_CALL_HA): New. (R_NIOS2_ILLEGAL): Adjust. gas/ * config/tc-nios2.c (md_apply_fix): Test for new relocs. (nios2_special_reloc): Add %call_lo, %call_hiadj, %got_lo, %got_hiadj relocation operators. Sort table and add comment to explain ordering. (nios2_fix_adjustable): Test for new relocs. * doc/c-nios2.texi (Nios II Relocations): Document new relocation operators. bfd/ * reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New. (BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New. * libbfd.h: Regenerated. * bfd-in2.h: Regenerated. * elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations. (nios2_reloc_map): Likewise. (GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED. Fixed all references. (nios2_elf32_relocate_section): Add new relocations. (nios2_elf32_check_relocs): Likewise. (nios2_elf32_gc_sweep_hook): Likewise. --- include/elf/nios2.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'include/elf/nios2.h') diff --git a/include/elf/nios2.h b/include/elf/nios2.h index 7686350..47afc0f 100644 --- a/include/elf/nios2.h +++ b/include/elf/nios2.h @@ -76,7 +76,11 @@ START_RELOC_NUMBERS (elf_nios2_reloc_type) RELOC_NUMBER (R_NIOS2_RELATIVE, 39) RELOC_NUMBER (R_NIOS2_GOTOFF, 40) RELOC_NUMBER (R_NIOS2_CALL26_NOAT, 41) - RELOC_NUMBER (R_NIOS2_ILLEGAL, 42) + RELOC_NUMBER (R_NIOS2_GOT_LO, 42) + RELOC_NUMBER (R_NIOS2_GOT_HA, 43) + RELOC_NUMBER (R_NIOS2_CALL_LO, 44) + RELOC_NUMBER (R_NIOS2_CALL_HA, 45) + RELOC_NUMBER (R_NIOS2_ILLEGAL, 46) END_RELOC_NUMBERS (R_NIOS2_maxext) /* Processor-specific section flags. */ -- cgit v1.1