aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Schauer <Peter.Schauer@mytum.de>1994-10-22 10:48:30 +0000
committerPeter Schauer <Peter.Schauer@mytum.de>1994-10-22 10:48:30 +0000
commitd298568482ac94bbb309d1d7f9af90c094b50ded (patch)
tree599341e082f145d5517ae0dbe11206264eac21d1
parent82e683ab389c6a8d5c3bed0eafcba4a019b365ab (diff)
downloadgdb-d298568482ac94bbb309d1d7f9af90c094b50ded.zip
gdb-d298568482ac94bbb309d1d7f9af90c094b50ded.tar.gz
gdb-d298568482ac94bbb309d1d7f9af90c094b50ded.tar.bz2
* 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.
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/TODO5
-rw-r--r--gdb/rs6000-tdep.c3
3 files changed, 12 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 55931d5..e905147 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 85f463e..0860360 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 757e111..18fe4e9 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) */