* hppah-nat.c (store_inferior_registers): Move check for
authorStu Grossman <grossman@cygnus>
Mon, 20 Mar 1995 15:38:56 +0000 (15:38 +0000)
committerStu Grossman <grossman@cygnus>
Mon, 20 Mar 1995 15:38:56 +0000 (15:38 +0000)
CANNOT_STORE_REGISTER to a better place.  Fixes ptrace I/O errors
found by test suite during function calls, which attempts to write
unwritable registers.

gdb/ChangeLog
gdb/hppah-nat.c

index 22e0a82e6fb486034b68be78c09ccdf30b49257e..1a54a27ce9a6bf699b7a00f8c69998bf1af0c417 100644 (file)
@@ -1,3 +1,10 @@
+Mon Mar 20 07:34:48 1995  Stu Grossman  (grossman@cygnus.com)
+
+       * hppah-nat.c (store_inferior_registers):  Move check for
+       CANNOT_STORE_REGISTER to a better place.  Fixes ptrace I/O errors
+       found by test suite during function calls, which attempts to write
+       unwritable registers.
+
 Sat Mar 18 02:02:24 1995  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
 
        * mdebugread.c (parse_symbol):  If finishing a function without
index 5681658654718c33c734f33db2d49647a8604cac..bbea4c9b6585811543086be108d5e42ebf2cabec 100644 (file)
@@ -60,6 +60,8 @@ store_inferior_registers (regno)
 
   if (regno >= 0)
     {
+      if (CANNOT_STORE_REGISTER (regno))
+       return;
       regaddr = register_addr (regno, offset);
       errno = 0;
       if (regno == PCOQ_HEAD_REGNUM || regno == PCOQ_TAIL_REGNUM)
@@ -90,22 +92,14 @@ store_inferior_registers (regno)
                sprintf (msg, "writing register %s: %s",
                         reg_names[regno], err);
                warning (msg);
-               goto error_exit;
+               return;
              }
            regaddr += sizeof(int);
          }
     }
   else
-    {
-      for (regno = 0; regno < NUM_REGS; regno++)
-       {
-         if (CANNOT_STORE_REGISTER (regno))
-           continue;
-         store_inferior_registers (regno);
-       }
-    }
- error_exit:
-  return;
+    for (regno = 0; regno < NUM_REGS; regno++)
+      store_inferior_registers (regno);
 }
 
 /* Fetch one register.  */