diff options
| author | Thomas Preud'homme <robotux@celest.fr> | 2016-12-10 17:11:00 +0000 |
|---|---|---|
| committer | Thomas Preud'homme <robotux@celest.fr> | 2016-12-10 17:31:20 +0000 |
| commit | ee2108d07d1f16700e97b3f876a213ae6949bf0e (patch) | |
| tree | c899722b74cd662f4e0a6e1b86d3fad1626bf034 | |
| parent | 11747fe5d0b8b4c8e7aa0b05ede57c155744ab36 (diff) | |
| download | tinycc-ee2108d07d1f16700e97b3f876a213ae6949bf0e.tar.gz tinycc-ee2108d07d1f16700e97b3f876a213ae6949bf0e.tar.bz2 | |
Add missing relocation info for C67 target
Fill in relocs_info table for C67 and fix R_C60_NUM value to really be
greater than all relocation values known to TCC.
| -rw-r--r-- | c67-link.c | 12 | ||||
| -rw-r--r-- | elf.h | 6 |
2 files changed, 14 insertions, 4 deletions
@@ -21,7 +21,17 @@ #include "tcc.h" -ST_DATA struct reloc_info relocs_info[R_NUM]; +ST_DATA struct reloc_info relocs_info[R_NUM] = { + INIT_RELOC_INFO (R_C60_32, 0, NO_GOTPLT_ENTRY, 0) + INIT_RELOC_INFO (R_C60LO16, 0, NO_GOTPLT_ENTRY, 0) + INIT_RELOC_INFO (R_C60HI16, 0, NO_GOTPLT_ENTRY, 0) + INIT_RELOC_INFO (R_C60_GOTOFF, 0, BUILD_GOT_ONLY, 0) + INIT_RELOC_INFO (R_C60_GOTPC, 0, BUILD_GOT_ONLY, 0) + INIT_RELOC_INFO (R_C60_GOT32, 0, ALWAYS_GOTPLT_ENTRY, 0) + INIT_RELOC_INFO (R_C60_PLT32, 1, ALWAYS_GOTPLT_ENTRY, 0) + INIT_RELOC_INFO (R_C60_GLOB_DAT, 0, NO_GOTPLT_ENTRY, 0) + INIT_RELOC_INFO (R_C60_JMP_SLOT, 1, NO_GOTPLT_ENTRY, 0) +}; void relocate_init(Section *sr) {} @@ -2549,11 +2549,11 @@ typedef Elf32_Addr Elf32_Conflict; #define R_C60_RELATIVE 8 /* Adjust by program base */ #define R_C60_GOTOFF 9 /* 32 bit offset to GOT */ #define R_C60_GOTPC 10 /* 32 bit PC relative offset to GOT */ -/* Keep this the last entry. */ -#define R_C60_NUM 11 -#define R_C60HI16 0x55 /* high 16 bit MVKH embedded */ #define R_C60LO16 0x54 /* low 16 bit MVKL embedded */ +#define R_C60HI16 0x55 /* high 16 bit MVKH embedded */ +/* Keep this the last entry. */ +#define R_C60_NUM 0x56 /* IA-64 specific declarations. */ |
