When the target h/w has 8byte registers, return 8 bytes for the raw buffer size
authorAndrew Cagney <cagney@redhat.com>
Tue, 20 Feb 2001 03:38:32 +0000 (03:38 +0000)
committerAndrew Cagney <cagney@redhat.com>
Tue, 20 Feb 2001 03:38:32 +0000 (03:38 +0000)
(from jim kingdon).

gdb/ChangeLog
gdb/mips-tdep.c

index e03b625d06beb312b56437b2952c243d7ea83694..4c583427678687c763da82fb10d716b4583c6cb3 100644 (file)
@@ -1,3 +1,9 @@
+2001-02-19  Andrew Cagney  <ac131313@redhat.com>
+
+       Frm 2001-02-09 Jim Kingdon <jkingdon@engr.sgi.com>:
+       * mips-tdep.c (mips_register_raw_size): If FP_REGISTER_DOUBLE,
+       then floating point registers are 8 bytes.
+
 2001-02-19  Michael Snyder  <msnyder@mvstp600e.cygnus.com>
 
        * parse.c (write_exp_msymbol): Make the type CORE_ADDR, to 
index 277eb358dc2b663a41fedfed3cd8e56f4be60b30..94a255eacea4578c71345437350abc70ad5ff3f0 100644 (file)
@@ -419,6 +419,11 @@ mips_register_raw_size (int reg_nr)
 {
   if (mips64_transfers_32bit_regs_p)
     return REGISTER_VIRTUAL_SIZE (reg_nr);
+  else if (reg_nr >= FP0_REGNUM && reg_nr < FP0_REGNUM + 32
+          && FP_REGISTER_DOUBLE)
+    /* For MIPS_ABI_N32 (for example) we need 8 byte floating point
+       registers.  */
+    return 8;
   else
     return MIPS_REGSIZE;
 }