aboutsummaryrefslogtreecommitdiff
path: root/gdb/rs6000-tdep.c
diff options
context:
space:
mode:
authorPeter Schauer <Peter.Schauer@mytum.de>1995-03-29 08:16:05 +0000
committerPeter Schauer <Peter.Schauer@mytum.de>1995-03-29 08:16:05 +0000
commite137e850dca37d4d07eb3c23e0e869058d5c5425 (patch)
treebc70c22788bdad9752fec24ba0c8fb27945af38f /gdb/rs6000-tdep.c
parent09dde100604dd5357e58cdb6ba7940dcc97c4d9a (diff)
downloadgdb-e137e850dca37d4d07eb3c23e0e869058d5c5425.zip
gdb-e137e850dca37d4d07eb3c23e0e869058d5c5425.tar.gz
gdb-e137e850dca37d4d07eb3c23e0e869058d5c5425.tar.bz2
* 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.
Diffstat (limited to 'gdb/rs6000-tdep.c')
-rw-r--r--gdb/rs6000-tdep.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index d3056e8..1dfc20d 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -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);
}