=?UTF-8?Q?Andr=C3=A9=20Hentschel=20?=: winedbg: Use copy of be_i386_fetch_float for be_arm_fetch_float ( except of long double).
Alexandre Julliard
julliard at winehq.org
Fri Mar 9 12:34:19 CST 2012
Module: wine
Branch: master
Commit: a948c20151197996b3668c49df123b40d743b3bc
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a948c20151197996b3668c49df123b40d743b3bc
Author: André Hentschel <nerv at dawncrow.de>
Date: Thu Mar 8 22:28:26 2012 +0100
winedbg: Use copy of be_i386_fetch_float for be_arm_fetch_float (except of long double).
---
programs/winedbg/be_arm.c | 16 ++++++++++++++--
1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/programs/winedbg/be_arm.c b/programs/winedbg/be_arm.c
index 0bd5601..c39043c 100644
--- a/programs/winedbg/be_arm.c
+++ b/programs/winedbg/be_arm.c
@@ -237,8 +237,20 @@ static int be_arm_fetch_integer(const struct dbg_lvalue* lvalue, unsigned size,
static int be_arm_fetch_float(const struct dbg_lvalue* lvalue, unsigned size,
long double* ret)
{
- dbg_printf("be_arm_fetch_float: not done\n");
- return FALSE;
+ char tmp[sizeof(long double)];
+
+ /* FIXME: this assumes that debuggee and debugger use the same
+ * representation for reals
+ */
+ if (!memory_read_value(lvalue, size, tmp)) return FALSE;
+
+ switch (size)
+ {
+ case sizeof(float): *ret = *(float*)tmp; break;
+ case sizeof(double): *ret = *(double*)tmp; break;
+ default: return FALSE;
+ }
+ return TRUE;
}
struct backend_cpu be_arm =
More information about the wine-cvs
mailing list