From 431d64809666aedbfa41fc98a47355494aa873e2 Mon Sep 17 00:00:00 2001 From: bellard Date: Sat, 31 Aug 2002 12:42:16 +0000 Subject: [PATCH] fixed PC32 relocation if constant address --- i386-gen.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/i386-gen.c b/i386-gen.c index 35cba2da..6f52cc88 100644 --- a/i386-gen.c +++ b/i386-gen.c @@ -360,10 +360,12 @@ void gfunc_call(GFuncContext *c) /* relocation case */ greloc(cur_text_section, vtop->sym, ind + 1, R_386_PC32); - oad(0xe8, vtop->c.ul - 4); } else { - oad(0xe8, vtop->c.ul - ind - 5); + /* put an empty PC32 relocation */ + put_elf_reloc(symtab_section, cur_text_section, + ind + 1, R_386_PC32, 0); } + oad(0xe8, vtop->c.ul - 4); } else { /* otherwise, indirect call */ r = gv(RC_INT); -- 2.11.4.GIT