* sparc-stub.c (handle_exception): Flush instruction cache just
authorStu Grossman <grossman@cygnus>
Tue, 25 Aug 1992 03:47:53 +0000 (03:47 +0000)
committerStu Grossman <grossman@cygnus>
Tue, 25 Aug 1992 03:47:53 +0000 (03:47 +0000)
before returning to the user.  (hexToInt):  Fix overzealous cleanup.

gdb/ChangeLog
gdb/sparc-stub.c

index a5880377a86ce1d8f0a92acc5c904bd23ea1fce2..1e9fd858e015c30b4ae54c7e439f5e7d0511fae5 100644 (file)
@@ -1,3 +1,8 @@
+Mon Aug 24 20:44:38 1992  Stu Grossman  (grossman at cygnus.com)
+
+       * sparc-stub.c (handle_exception):  Flush instruction cache just
+       before returning to the user.  (hexToInt):  Fix overzealous cleanup.
+
 Mon Aug 24 11:57:13 1992  Fred Fish  (fnf@cygnus.com)
 
        * infrun.c (handle_command):  Rewrite to allow multiple signal
index 461b9cd6155c366535a2060355d5cd50db729351..62636c2cad7f780b3530bb75d7bd0a873ebe64a2 100644 (file)
@@ -546,7 +546,7 @@ hexToInt(char **ptr, int *intValue)
       *intValue = (*intValue << 4) | hexValue;
       numChars ++;
 
-      *ptr++;
+      (*ptr)++;
     }
 
   return (numChars);
@@ -727,6 +727,12 @@ handle_exception (registers)
              registers[NPC] = addr + 4;
            }
 
+/* Need to flush the instruction cache here, as we may have deposited a
+   breakpoint, and the icache probably has no way of knowing that a data ref to
+   some location may have changed something that is in the instruction cache.
+ */
+
+         flush_i_cache();
          return;
 
          /* kill the program */