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.
master
Thomas Preud'homme 2016-12-10 17:11:00 +00:00
parent 11747fe5d0
commit ee2108d07d
2 changed files with 14 additions and 4 deletions

View File

@ -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) {}

6
elf.h
View File

@ -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. */