|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH] x86_emulate: fix side-effect macro call
x86_emulate: fix side-effect macro call
Both jmp_rel and insn_fetch_type increment eip, so it's not
compiler-safe to nest the calls.
Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx>
---
Yes, I actually got a bug because of this, with debian's gcc 4.2.3.
diff -r 52f222b319ef xen/arch/x86/x86_emulate.c
--- a/xen/arch/x86/x86_emulate.c Tue Feb 05 11:21:22 2008 +0000
+++ b/xen/arch/x86/x86_emulate.c Tue Feb 05 15:30:48 2008 +0000
@@ -2644,9 +2644,11 @@
break;
}
- case 0xeb: /* jmp (short) */
- jmp_rel(insn_fetch_type(int8_t));
+ case 0xeb: /* jmp (short) */ {
+ int8_t rel = insn_fetch_type(int8_t);
+ jmp_rel(rel);
break;
+ }
case 0xf1: /* int1 (icebp) */
src.val = EXC_DB;
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [PATCH] x86_emulate: fix side-effect macro call,
Samuel Thibault <=
|
|
|
|
|