diff options
author | Peter Schauer <Peter.Schauer@mytum.de> | 1995-03-29 08:16:05 +0000 |
---|---|---|
committer | Peter Schauer <Peter.Schauer@mytum.de> | 1995-03-29 08:16:05 +0000 |
commit | e137e850dca37d4d07eb3c23e0e869058d5c5425 (patch) | |
tree | bc70c22788bdad9752fec24ba0c8fb27945af38f /gdb/rs6000-tdep.c | |
parent | 09dde100604dd5357e58cdb6ba7940dcc97c4d9a (diff) | |
download | gdb-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.c | 14 |
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); } |