From d298568482ac94bbb309d1d7f9af90c094b50ded Mon Sep 17 00:00:00 2001 From: Peter Schauer Date: Sat, 22 Oct 1994 10:48:30 +0000 Subject: [PATCH] * valarith.c (value_binop): Take care of ANSI `value preserving' rule, which was not addressed by the previous change. * rs6000-tdep.c (skip_prologue): Handle `mr r31,r1', which is generated by gcc-2.6, as a synonym for `oril r31,r1,0'. * TODO: Remove item about RS/6000 shared libraries. --- gdb/ChangeLog | 10 ++++++++++ gdb/TODO | 5 ----- gdb/rs6000-tdep.c | 3 ++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 55931d563f..e905147e7c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +Sat Oct 22 03:41:13 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * valarith.c (value_binop): Take care of ANSI `value preserving' + rule, which was not addressed by the previous change. + + * rs6000-tdep.c (skip_prologue): Handle `mr r31,r1', which is + generated by gcc-2.6, as a synonym for `oril r31,r1,0'. + + * TODO: Remove item about RS/6000 shared libraries. + Thu Oct 20 17:35:45 1994 Stu Grossman (grossman@cygnus.com) * defs.h, infrun.c (wait_for_inferior), top.c: Call diff --git a/gdb/TODO b/gdb/TODO index 85f463e862..0860360ce5 100644 --- a/gdb/TODO +++ b/gdb/TODO @@ -277,11 +277,6 @@ solution). investigate "x/s 0" (right now stops early) (I think maybe GDB is using a 0 address for bad purposes internally). -Play with RS/6000 shared libraries (using shared library tests -listed in testsuite/TODO as a guide). (Schauer has done shared -library stuff on most other platforms but has not touched the -RS/6000). - Make "info path" and path_command work again (but independent of the environment either of gdb or that we'll pass to the inferior). diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index 757e1115dd..18fe4e9d50 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -244,7 +244,8 @@ CORE_ADDR pc; op = read_memory_integer (pc, 4); } - if (op == 0x603f0000) { /* oril r31, r1, 0x0 */ + if (op == 0x603f0000 /* oril r31, r1, 0x0 */ + || op == 0x7c3f0b78) { /* mr r31, r1 */ pc += 4; /* this happens if r31 is used as */ op = read_memory_integer (pc, 4); /* frame ptr. (gcc does that) */