diff --git a/arm-gen.c b/arm-gen.c index 9370db5..e0866ff 100644 --- a/arm-gen.c +++ b/arm-gen.c @@ -163,6 +163,7 @@ static CType float_type, double_type, func_float_type, func_double_type; /* relocation type for 32 bit data relocation */ #define R_DATA_32 R_ARM_ABS32 +#define R_DATA_PTR R_ARM_ABS32 #define R_JMP_SLOT R_ARM_JUMP_SLOT #define R_COPY R_ARM_COPY diff --git a/c67-gen.c b/c67-gen.c index a60b6bf..88224fd 100644 --- a/c67-gen.c +++ b/c67-gen.c @@ -163,6 +163,7 @@ int TotalBytesPushedOnStack; /* relocation type for 32 bit data relocation */ #define R_DATA_32 R_C60_32 +#define R_DATA_PTR R_C60_32 #define R_JMP_SLOT R_C60_JMP_SLOT #define R_COPY R_C60_COPY diff --git a/i386-gen.c b/i386-gen.c index 61f9e78..ff5028e 100644 --- a/i386-gen.c +++ b/i386-gen.c @@ -77,6 +77,7 @@ const int reg_classes[NB_REGS] = { /* relocation type for 32 bit data relocation */ #define R_DATA_32 R_386_32 +#define R_DATA_PTR R_386_32 #define R_JMP_SLOT R_386_JMP_SLOT #define R_COPY R_386_COPY diff --git a/tccgen.c b/tccgen.c index 99ec723..bb7c4e9 100644 --- a/tccgen.c +++ b/tccgen.c @@ -4346,7 +4346,7 @@ static void init_putv(CType *type, Section *sec, unsigned long c, break; default: if (vtop->r & VT_SYM) { - greloc(sec, vtop->sym, c, R_DATA_32); + greloc(sec, vtop->sym, c, R_DATA_PTR); } *(int *)ptr |= (vtop->c.i & bit_mask) << bit_pos; break; @@ -4796,7 +4796,7 @@ static void decl_initializer_alloc(CType *type, AttributeDef *ad, int r, if (tcc_state->do_bounds_check) { unsigned long *bounds_ptr; - greloc(bounds_section, sym, bounds_section->data_offset, R_DATA_32); + greloc(bounds_section, sym, bounds_section->data_offset, R_DATA_PTR); /* then add global bound info */ bounds_ptr = section_ptr_add(bounds_section, 2 * sizeof(long)); bounds_ptr[0] = 0; /* relocated */ diff --git a/x86_64-gen.c b/x86_64-gen.c index 1739e95..e22de5c 100644 --- a/x86_64-gen.c +++ b/x86_64-gen.c @@ -91,7 +91,8 @@ const int reg_classes[NB_REGS] = { #define EM_TCC_TARGET EM_X86_64 /* relocation type for 32 bit data relocation */ -#define R_DATA_32 R_X86_64_64 +#define R_DATA_32 R_X86_64_32 +#define R_DATA_PTR R_X86_64_64 #define R_JMP_SLOT R_X86_64_JUMP_SLOT #define R_COPY R_X86_64_COPY