From: Peter Schauer Date: Wed, 29 Mar 1995 08:16:05 +0000 (+0000) Subject: * rs6000-tdep.c (skip_prologue): Skip saving of LR and CR in X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e137e850dca37d4d07eb3c23e0e869058d5c5425;p=binutils-gdb.git * 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. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4b0987d42c1..13063a11f0a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -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 * gdbtypes.c (create_range_type): If indextype has TYPE_FLAG_STUB diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index d3056e89c50..1dfc20d2cec 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); }