[pkg-wine-party] [SCM] Debian Wine packaging branch, wheezy, updated. wine-1.4-7-302-gb61b690
Alexandre Julliard
julliard at winehq.org
Sun Jun 17 20:03:33 UTC 2012
The following commit has been merged in the wheezy branch:
commit 49f7f95ffac837279ee41ca3ae4bd20428076b68
Author: Eric Pouech <eric.pouech at orange.fr>
Date: Tue May 8 19:52:34 2012 +0200
winedbg: Fix printing of fp registers for x86_64 CPU.
(cherry picked from commit 721a3c910a74ba310e51a0325d738aa276624057)
diff --git a/programs/winedbg/be_x86_64.c b/programs/winedbg/be_x86_64.c
index 0dd11c2..dde30f3 100644
--- a/programs/winedbg/be_x86_64.c
+++ b/programs/winedbg/be_x86_64.c
@@ -70,6 +70,14 @@ static void be_x86_64_single_step(CONTEXT* ctx, unsigned enable)
else ctx->EFlags &= ~STEP_FLAG;
}
+static inline long double m128a_to_longdouble(const M128A m)
+{
+ /* gcc uses the same IEEE-754 representation as M128A for long double
+ * but 16 byte aligned (hence only the first 10 bytes out of the 16 are used)
+ */
+ return *(long double*)&m;
+}
+
static void be_x86_64_print_context(HANDLE hThread, const CONTEXT* ctx,
int all_regs)
{
@@ -144,16 +152,12 @@ static void be_x86_64_print_context(HANDLE hThread, const CONTEXT* ctx,
for (i = 0; i < 4; i++)
{
- long double st;
- memcpy(&st, &ctx->u.FltSave.FloatRegisters[i * 10], 10);
- dbg_printf(" st%u:%-16Lg ", i, st);
+ dbg_printf(" st%u:%-16Lg ", i, m128a_to_longdouble(ctx->u.FltSave.FloatRegisters[i]));
}
dbg_printf("\n");
for (i = 4; i < 8; i++)
{
- long double st;
- memcpy(&st, &ctx->u.FltSave.FloatRegisters[i * 10], 10);
- dbg_printf(" st%u:%-16Lg ", i, st);
+ dbg_printf(" st%u:%-16Lg ", i, m128a_to_longdouble(ctx->u.FltSave.FloatRegisters[i]));
}
dbg_printf("\n");
--
Debian Wine packaging
More information about the pkg-wine-party
mailing list