diff --git a/i386-gen.c b/i386-gen.c index ae40ca7..cd4cebd 100644 --- a/i386-gen.c +++ b/i386-gen.c @@ -165,14 +165,14 @@ ST_FUNC int oad(int c, int s) } /* output constant with relocation if 'r & VT_SYM' is true */ -ST_FUNC void gen_addr32(int r, Sym *sym, int c) +ST_FUNC void gen_addr32(int r, Sym *sym, long c) { if (r & VT_SYM) greloc(cur_text_section, sym, ind, R_386_32); gen_le32(c); } -ST_FUNC void gen_addrpc32(int r, Sym *sym, int c) +ST_FUNC void gen_addrpc32(int r, Sym *sym, long c) { if (r & VT_SYM) greloc(cur_text_section, sym, ind, R_386_PC32); diff --git a/tcc.h b/tcc.h index a9641f6..a2e3d0d 100644 --- a/tcc.h +++ b/tcc.h @@ -1478,8 +1478,8 @@ ST_FUNC void g(int c); ST_FUNC int oad(int c, int s); ST_FUNC void gen_le16(int c); ST_FUNC void gen_le32(int c); -ST_FUNC void gen_addr32(int r, Sym *sym, int c); -ST_FUNC void gen_addrpc32(int r, Sym *sym, int c); +ST_FUNC void gen_addr32(int r, Sym *sym, long c); +ST_FUNC void gen_addrpc32(int r, Sym *sym, long c); #endif #ifdef CONFIG_TCC_BCHECK diff --git a/x86_64-gen.c b/x86_64-gen.c index 6102be7..f5a2cdd 100644 --- a/x86_64-gen.c +++ b/x86_64-gen.c @@ -239,7 +239,7 @@ ST_FUNC int oad(int c, int s) return s; } -ST_FUNC void gen_addr32(int r, Sym *sym, int c) +ST_FUNC void gen_addr32(int r, Sym *sym, long c) { if (r & VT_SYM) greloca(cur_text_section, sym, ind, R_X86_64_32S, c), c=0; @@ -255,7 +255,7 @@ ST_FUNC void gen_addr64(int r, Sym *sym, int64_t c) } /* output constant with relocation if 'r & VT_SYM' is true */ -ST_FUNC void gen_addrpc32(int r, Sym *sym, int c) +ST_FUNC void gen_addrpc32(int r, Sym *sym, long c) { if (r & VT_SYM) greloca(cur_text_section, sym, ind, R_X86_64_PC32, c-4), c=4;