* rs6000-tdep.c (skip_prologue): Skip saving of LR and CR in
authorPeter Schauer <Peter.Schauer@mytum.de>
Wed, 29 Mar 1995 08:16:05 +0000 (08:16 +0000)
committerPeter Schauer <Peter.Schauer@mytum.de>
Wed, 29 Mar 1995 08:16:05 +0000 (08:16 +0000)
the stack frame, fix typos in `st rx,NUM(r1)' and `stu r1,NUM(r1)'
tests.

gdb/ChangeLog
gdb/rs6000-tdep.c

index 4b0987d..13063a1 100644 (file)
@@ -1,3 +1,9 @@
+Wed Mar 29 00:01:07 1995  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
+
+       * rs6000-tdep.c (skip_prologue):  Skip saving of LR and CR in
+       the stack frame, fix typos in `st rx,NUM(r1)' and `stu r1,NUM(r1)'
+       tests.
+
 Tue Mar 28 17:04:04 1995  Per Bothner  <bothner@kalessin.cygnus.com>
 
        * gdbtypes.c (create_range_type):  If indextype has TYPE_FLAG_STUB
index d3056e8..1dfc20d 100644 (file)
@@ -224,13 +224,23 @@ CORE_ADDR pc;
     op = read_memory_integer (pc, 4);
   }
 
-  while ((op & 0xfc1f0000) == 0x9001 &&        /* st rx,NUM(r1), rx >= r13 */
+  while ((op & 0xfc1f0000) == 0x90010000 &&    /* st rx,NUM(r1), rx >= r13 */
         (op & 0x03e00000) >= 0x01a00000) {
     pc += 4;
     op = read_memory_integer (pc, 4);
   }
+
+  if (op == 0x90010008) {                      /* st r0,8(r1) */
+    pc += 4;
+    op = read_memory_integer (pc, 4);
+  }
+
+  if (op == 0x91810004) {                      /* st r12,4(r1) */
+    pc += 4;
+    op = read_memory_integer (pc, 4);
+  }
         
-  if ((op & 0xfc1f0000) == 0x94210000) {       /* stu r1,NUM(r1) */
+  if ((op & 0xffff0000) == 0x94210000) {       /* stu r1,NUM(r1) */
     pc += 4;
     op = read_memory_integer (pc, 4);
   }