aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2000-04-13 22:58:42 +0000
committerDJ Delorie <dj@redhat.com>2000-04-13 22:58:42 +0000
commit65edb64b155d872d42c6ddf6bd17f1d1ed4c4eea (patch)
treecd1e8697e7a85c6ed9c5c9344c9e85db9dff2f37
parent14164c30b6b5ae623fd1cd75384179d9fef368d6 (diff)
downloadgdb-65edb64b155d872d42c6ddf6bd17f1d1ed4c4eea.zip
gdb-65edb64b155d872d42c6ddf6bd17f1d1ed4c4eea.tar.gz
gdb-65edb64b155d872d42c6ddf6bd17f1d1ed4c4eea.tar.bz2
* mips-tdep.c (do_fp_register_row): copy the number of bytes
allocated, not the size of the pointer.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/mips-tdep.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 318c1d3..1c41530 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2000-04-13 DJ Delorie <dj@cygnus.com>
+
+ * mips-tdep.c (do_fp_register_row): copy the number of bytes
+ allocated, not the size of the pointer.
+
2000-04-13 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
* config/i386/nm-i386sol2.h (CANNOT_STEP_HW_WATCHPOINTS): Define.
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
index 71b3482..189dd7b 100644
--- a/gdb/mips-tdep.c
+++ b/gdb/mips-tdep.c
@@ -2510,7 +2510,7 @@ do_fp_register_row (regnum)
regnum + 1, REGISTER_NAME (regnum + 1));
/* copy the two floats into one double, and unpack both */
- memcpy (dbl_buffer, raw_buffer, sizeof (dbl_buffer));
+ memcpy (dbl_buffer, raw_buffer, 2 * REGISTER_RAW_SIZE (FP0_REGNUM));
flt1 = unpack_double (builtin_type_float, raw_buffer[HI], &inv1);
flt2 = unpack_double (builtin_type_float, raw_buffer[LO], &inv2);
doub = unpack_double (builtin_type_double, dbl_buffer, &inv3);
@@ -2528,7 +2528,7 @@ do_fp_register_row (regnum)
{ /* eight byte registers: print each one as float AND as double. */
int offset = 4 * (TARGET_BYTE_ORDER == BIG_ENDIAN);
- memcpy (dbl_buffer, raw_buffer[HI], sizeof (dbl_buffer));
+ memcpy (dbl_buffer, raw_buffer[HI], 2 * REGISTER_RAW_SIZE (FP0_REGNUM));
flt1 = unpack_double (builtin_type_float,
&raw_buffer[HI][offset], &inv1);
doub = unpack_double (builtin_type_double, dbl_buffer, &inv3);