aboutsummaryrefslogtreecommitdiff
path: root/i386-gen.c
diff options
context:
space:
mode:
Diffstat (limited to 'i386-gen.c')
-rw-r--r--i386-gen.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/i386-gen.c b/i386-gen.c
index d44737a..93af341 100644
--- a/i386-gen.c
+++ b/i386-gen.c
@@ -109,6 +109,12 @@ void o(unsigned int c)
}
}
+void gen_le16(int v)
+{
+ g(v);
+ g(v >> 8);
+}
+
void gen_le32(int c)
{
g(c);
@@ -161,6 +167,13 @@ static void gen_addr32(int r, Sym *sym, int c)
gen_le32(c);
}
+static void gen_addrpc32(int r, Sym *sym, int c)
+{
+ if (r & VT_SYM)
+ greloc(cur_text_section, sym, ind, R_386_PC32);
+ gen_le32(c - 4);
+}
+
/* generate a modrm reference. 'op_reg' contains the addtionnal 3
opcode bits */
static void gen_modrm(int op_reg, int r, Sym *sym, int c)