From b2192fc50bb0cfddce1585f2cb2c920de66b4e07 Mon Sep 17 00:00:00 2001 From: Thomas Preud'homme Date: Tue, 11 Mar 2014 21:45:52 +0800 Subject: [PATCH] Adjust relocation offset for thumb to ARM veneer --- tccelf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tccelf.c b/tccelf.c index 424db695..e7054a3f 100644 --- a/tccelf.c +++ b/tccelf.c @@ -1209,7 +1209,7 @@ ST_FUNC void build_got_entries(TCCState *s1) rel->r_info = ELFW(R_INFO)(index, type); /* Create a thumb stub fonction to switch to ARM mode */ put_elf_reloc(symtab_section, text_section, - text_section->data_offset, R_ARM_JUMP24, + text_section->data_offset + 4, R_ARM_JUMP24, sym_index); p = section_ptr_add(text_section, 8); put32(p, 0x4778); /* bx pc */ -- 2.11.4.GIT