* valarith.c (value_binop): Take care of ANSI `value preserving'
authorPeter Schauer <Peter.Schauer@mytum.de>
Sat, 22 Oct 1994 10:48:30 +0000 (10:48 +0000)
committerPeter Schauer <Peter.Schauer@mytum.de>
Sat, 22 Oct 1994 10:48:30 +0000 (10:48 +0000)
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
gdb/TODO
gdb/rs6000-tdep.c

index 55931d563fb131e72d3a85fcb45e10be5150b8f2..e905147e7c521204ac0f08d4ac0ded7c62676ab1 100644 (file)
@@ -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
index 85f463e862fe55ad2c5838db4243ca41ff513c1d..0860360ce59da2b5f84d0c42c0d4f61ea1bd9442 100644 (file)
--- 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).
 
index 757e1115dd1afe17c359439a6d190b1bf4ff1166..18fe4e9d50a3ced66b9f89fe6967834c54494162 100644 (file)
@@ -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)     */