From: Keir Fraser Date: Tue, 5 Feb 2008 15:50:59 +0000 (+0000) Subject: x86_emulate: fix side-effect macro call. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14333^2~14 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=bf3e94d5f6ae45d02d30f4df79125629d5c6d4da;p=xen.git x86_emulate: fix side-effect macro call. Signed-off-by: Samuel Thibault --- diff --git a/xen/arch/x86/x86_emulate.c b/xen/arch/x86/x86_emulate.c index bf867a7b56..ee0118a7b3 100644 --- a/xen/arch/x86/x86_emulate.c +++ b/xen/arch/x86/x86_emulate.c @@ -550,7 +550,8 @@ do { \ #define jmp_rel(rel) \ do { \ - _regs.eip += (int)(rel); \ + int _rel = (int)(rel); \ + _regs.eip += _rel; \ if ( !mode_64bit() ) \ _regs.eip = ((op_bytes == 2) \ ? (uint16_t)_regs.eip : (uint32_t)_regs.eip); \ @@ -2785,9 +2786,11 @@ x86_emulate( break; } - case 0xeb: /* jmp (short) */ - jmp_rel(insn_fetch_type(int8_t)); + case 0xeb: /* jmp (short) */ { + int rel = insn_fetch_type(int8_t); + jmp_rel(rel); break; + } case 0xf1: /* int1 (icebp) */ src.val = EXC_DB;