From 7dd3043eed8d9bac9ce48765335fdbe52b907b42 Mon Sep 17 00:00:00 2001 From: comex Date: Sat, 14 Feb 2015 23:50:30 -0500 Subject: fix test cases --- lib/x86/arch-transform-dis.inc.h | 2 +- lib/x86/jump-patch.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/x86') diff --git a/lib/x86/arch-transform-dis.inc.h b/lib/x86/arch-transform-dis.inc.h index 6ec6c16..67390c9 100644 --- a/lib/x86/arch-transform-dis.inc.h +++ b/lib/x86/arch-transform-dis.inc.h @@ -76,7 +76,7 @@ static void transform_dis_branch(struct transform_dis_ctx *ctx, uint_tptr dpc, code += ctx->base.op_size; struct arch_dis_ctx arch; - uintptr_t source = ctx->pc_trampoline + 2; + uintptr_t source = ctx->pc_trampoline + ctx->base.op_size + 2; int size = jump_patch_size(source, dpc, arch, true); /* If not taken, jmp past the big jump - this is a bit suboptimal but not * that bad. diff --git a/lib/x86/jump-patch.h b/lib/x86/jump-patch.h index 8cd7d6f..ca7b16c 100644 --- a/lib/x86/jump-patch.h +++ b/lib/x86/jump-patch.h @@ -15,7 +15,7 @@ static inline int jump_patch_size(uint_tptr pc, uint_tptr dpc, static inline void make_jump_patch(void **codep, uint_tptr pc, uint_tptr dpc, UNUSED struct arch_dis_ctx arch) { - uint_tptr diff = pc - (dpc + 5); + uint_tptr diff = dpc - (pc + 5); void *code = *codep; if (diff == (uint_tptr) (int32_t) diff) { op8(&code, 0xe9); -- cgit v1.2.3