Use CPU_LDoubleU in cpu_dump_state() instead of redefining a union for doing the conversion.
Based on a patch from Laurent Vivier <laur...@vivier.eu>. Cc: Laurent Vivier <laur...@vivier.eu> Cc: Peter Maydell <peter.mayd...@linaro.org> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target-i386/helper.c | 12 +++--------- 1 files changed, 3 insertions(+), 9 deletions(-) diff --git a/target-i386/helper.c b/target-i386/helper.c index d15fca5..89df997 100644 --- a/target-i386/helper.c +++ b/target-i386/helper.c @@ -404,16 +404,10 @@ void cpu_dump_state(CPUState *env, FILE *f, fprintf_function cpu_fprintf, env->mxcsr); for(i=0;i<8;i++) { #if defined(USE_X86LDOUBLE) - union { - long double d; - struct { - uint64_t lower; - uint16_t upper; - } l; - } tmp; - tmp.d = env->fpregs[i].d; + CPU_LDoubleU u; + u.d = env->fpregs[i].d; cpu_fprintf(f, "FPR%d=%016" PRIx64 " %04x", - i, tmp.l.lower, tmp.l.upper); + i, u.l.lower, u.l.upper); #else cpu_fprintf(f, "FPR%d=%016" PRIx64, i, env->fpregs[i].mmx.q); -- 1.7.2.3