* mips-tdep.c (do_fp_register_row): copy the number of bytes
authorDJ Delorie <dj@redhat.com>
Thu, 13 Apr 2000 22:58:42 +0000 (22:58 +0000)
committerDJ Delorie <dj@redhat.com>
Thu, 13 Apr 2000 22:58:42 +0000 (22:58 +0000)
allocated, not the size of the pointer.

gdb/ChangeLog
gdb/mips-tdep.c

index 318c1d36f3efa6d644c6fc0ea2b1a938c9003ad4..1c415300fff282ac743f7fde583fa4128ab16db0 100644 (file)
@@ -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.
index 71b3482b1c673afab545971af0ceecb5c03c3bcc..189dd7b1c93352090d43cedc00f40817f4460b35 100644 (file)
@@ -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);