* remote-mips.c (mips_fetch_registers): If regno is FP_REGNUM or
authorJim Kingdon <jkingdon@engr.sgi.com>
Sat, 5 Feb 1994 22:29:06 +0000 (22:29 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Sat, 5 Feb 1994 22:29:06 +0000 (22:29 +0000)
ZERO_REGNUM, just read it as zero without talking to the board.

gdb/ChangeLog
gdb/remote-mips.c

index c5b55cc1997e3e0b8473b63924a6789f88148b28..3104fe50d31bccc8abf3a3c92b8c8aaac15f87ef 100644 (file)
@@ -1,5 +1,8 @@
 Sat Feb  5 08:03:41 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
 
+       * remote-mips.c (mips_fetch_registers): If regno is FP_REGNUM or
+       ZERO_REGNUM, just read it as zero without talking to the board.
+
        * config/i386/tm-i386aix.h (REGISTER_CONVERT_TO_RAW): Add missing
        backslash.
        * i386-tdep.c (i386_extract_return_value): Pass TYPE_LENGTH (type)
index ae793f50dfadaba9ef606767b193f497a60029da..8e926c283194a3d0130e75f8951d2375ef80b7fd 100644 (file)
@@ -1181,10 +1181,18 @@ mips_fetch_registers (regno)
       return;
     }
 
-  val = mips_request ('r', (unsigned int) mips_map_regno (regno),
-                     (unsigned int) 0, &err, mips_receive_wait);
-  if (err)
-    mips_error ("Can't read register %d: %s", regno, safe_strerror (errno));
+  if (regno == FP_REGNUM || regno == ZERO_REGNUM)
+    /* FP_REGNUM on the mips is a hack which is just supposed to read
+       zero (see also mips-nat.c).  */
+    val = 0;
+  else
+    {
+      val = mips_request ('r', (unsigned int) mips_map_regno (regno),
+                         (unsigned int) 0, &err, mips_receive_wait);
+      if (err)
+       mips_error ("Can't read register %d: %s", regno,
+                   safe_strerror (errno));
+    }
 
   {
     char buf[MAX_REGISTER_RAW_SIZE];