From 4980ef9e3e12be3b4ef9092abc2d5a665199b422 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 19 Mar 2013 12:11:56 -0700 Subject: [PATCH] target-i386: Don't modify env->eflags around cpu_dump_state We can compute the value in cpu_dump_state anyway, and gratuitous modifications to eflags creates heisenbugs. Cc: Blue Swirl Signed-off-by: Richard Henderson Signed-off-by: Blue Swirl --- cpu-exec.c | 3 --- target-i386/helper.c | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/cpu-exec.c b/cpu-exec.c index b87c1c07c65a..e74e55656a40 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -571,10 +571,7 @@ int cpu_exec(CPUArchState *env) if (qemu_loglevel_mask(CPU_LOG_TB_CPU)) { /* restore flags in standard format */ #if defined(TARGET_I386) - env->eflags = env->eflags | cpu_cc_compute_all(env, CC_OP) - | (DF & DF_MASK); log_cpu_state(env, CPU_DUMP_CCOP); - env->eflags &= ~(DF_MASK | CC_O | CC_S | CC_Z | CC_A | CC_P | CC_C); #elif defined(TARGET_M68K) cpu_m68k_flush_flags(env, env->cc_op); env->cc_op = CC_OP_FLAGS; diff --git a/target-i386/helper.c b/target-i386/helper.c index 9449a0c49dca..282494fcad37 100644 --- a/target-i386/helper.c +++ b/target-i386/helper.c @@ -189,7 +189,7 @@ void cpu_dump_state(CPUX86State *env, FILE *f, fprintf_function cpu_fprintf, cpu_synchronize_state(env); - eflags = env->eflags; + eflags = cpu_compute_eflags(env); #ifdef TARGET_X86_64 if (env->hflags & HF_CS64_MASK) { cpu_fprintf(f,