From 3db87ba3caf19203c987d1e121cfc0ba2374df27 Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Thu, 2 Mar 2000 06:50:50 +0000 Subject: [PATCH] Fixes for extract_floating() and store_floating(). --- gdb/ChangeLog | 6 ++++++ gdb/findvar.c | 21 ++++++++------------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 930d6b159e3..0d84277a2ff 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2000-03-02 Kevin Buettner + + * findvar.c (extract_floating, store_floating): Use target + floating point type sizes rather host sizes to determine + which conversion needs to be done. + 2000-03-02 Nick Duffek * uw-thread.c: Apply GNU conventions to comment formatting. diff --git a/gdb/findvar.c b/gdb/findvar.c index 9c8e313ab57..98322e014e4 100644 --- a/gdb/findvar.c +++ b/gdb/findvar.c @@ -267,13 +267,11 @@ store_address (addr, len, val) dirty work. */ DOUBLEST -extract_floating (addr, len) - PTR addr; - int len; +extract_floating (void *addr, int len) { DOUBLEST dretval; - if (len == sizeof (float)) + if (len * TARGET_CHAR_BIT == TARGET_FLOAT_BIT) { if (HOST_FLOAT_FORMAT == TARGET_FLOAT_FORMAT) { @@ -285,7 +283,7 @@ extract_floating (addr, len) else floatformat_to_doublest (TARGET_FLOAT_FORMAT, addr, &dretval); } - else if (len == sizeof (double)) + else if (len * TARGET_CHAR_BIT == TARGET_DOUBLE_BIT) { if (HOST_DOUBLE_FORMAT == TARGET_DOUBLE_FORMAT) { @@ -297,7 +295,7 @@ extract_floating (addr, len) else floatformat_to_doublest (TARGET_DOUBLE_FORMAT, addr, &dretval); } - else if (len == sizeof (DOUBLEST)) + else if (len * TARGET_CHAR_BIT == TARGET_LONG_DOUBLE_BIT) { if (HOST_LONG_DOUBLE_FORMAT == TARGET_LONG_DOUBLE_FORMAT) { @@ -322,12 +320,9 @@ extract_floating (addr, len) } void -store_floating (addr, len, val) - PTR addr; - int len; - DOUBLEST val; +store_floating (void *addr, int len, DOUBLEST val) { - if (len == sizeof (float)) + if (len * TARGET_CHAR_BIT == TARGET_FLOAT_BIT) { if (HOST_FLOAT_FORMAT == TARGET_FLOAT_FORMAT) { @@ -338,7 +333,7 @@ store_floating (addr, len, val) else floatformat_from_doublest (TARGET_FLOAT_FORMAT, &val, addr); } - else if (len == sizeof (double)) + else if (len * TARGET_CHAR_BIT == TARGET_DOUBLE_BIT) { if (HOST_DOUBLE_FORMAT == TARGET_DOUBLE_FORMAT) { @@ -349,7 +344,7 @@ store_floating (addr, len, val) else floatformat_from_doublest (TARGET_DOUBLE_FORMAT, &val, addr); } - else if (len == sizeof (DOUBLEST)) + else if (len * TARGET_CHAR_BIT == TARGET_LONG_DOUBLE_BIT) { if (HOST_LONG_DOUBLE_FORMAT == TARGET_LONG_DOUBLE_FORMAT) memcpy (addr, &val, sizeof (val)); -- 2.30.2