* alpha-mdebug-tdep.c (alpha_mdebug_frame_prev_register): Use
authorDaniel Jacobowitz <drow@false.org>
Tue, 9 Jan 2007 20:19:15 +0000 (20:19 +0000)
committerDaniel Jacobowitz <drow@false.org>
Tue, 9 Jan 2007 20:19:15 +0000 (20:19 +0000)
frame_unwind_register to recurse.
* alpha-tdep.c (alpha_sigtramp_frame_prev_register): Likewise.
(alpha_heuristic_frame_prev_register): Likewise.
* h8300-tdep.c (h8300_frame_prev_register): Likewise.
* m32c-tdep.c (m32c_prev_register): Likewise.
* frame.c (frame_register_unwind_location): Remove FIXME.

gdb/ChangeLog
gdb/alpha-mdebug-tdep.c
gdb/alpha-tdep.c
gdb/frame.c
gdb/h8300-tdep.c
gdb/m32c-tdep.c

index 296fc4c8bc2bf8944a6c8f415a6f3d2d4e646c06..f6260c4ad01a3ba4ad2bdb28050c512c637871cd 100644 (file)
@@ -1,3 +1,13 @@
+2007-01-09  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * alpha-mdebug-tdep.c (alpha_mdebug_frame_prev_register): Use
+       frame_unwind_register to recurse.
+       * alpha-tdep.c (alpha_sigtramp_frame_prev_register): Likewise.
+       (alpha_heuristic_frame_prev_register): Likewise.
+       * h8300-tdep.c (h8300_frame_prev_register): Likewise.
+       * m32c-tdep.c (m32c_prev_register): Likewise.
+       * frame.c (frame_register_unwind_location): Remove FIXME.
+
 2007-01-09  Daniel Jacobowitz  <dan@codesourcery.com>
            Eli Zaretskii  <eliz@gnu.org>
 
index 906c1c76120aeb822492a1c98283fe5f5394a3fe..c2f180251bfcb64b7788123ae1b5ca5b4f171ac6 100644 (file)
@@ -294,8 +294,12 @@ alpha_mdebug_frame_prev_register (struct frame_info *next_frame,
     }
 
   /* Otherwise assume the next frame has the same register value.  */
-  frame_register (next_frame, regnum, optimizedp, lvalp, addrp,
-                 realnump, bufferp);
+  *optimizedp = 0;
+  *lvalp = lval_register;
+  *addrp = 0;
+  *realnump = regnum;
+  if (bufferp)
+    frame_unwind_register (next_frame, *realnump, bufferp);
 }
 
 static const struct frame_unwind alpha_mdebug_frame_unwind = {
index 0bf0f78a0e7ff324238aeec14ba94123cdca3e35..5b8f4216ae126d531e3248e58d2ebaffba73fa7d 100644 (file)
@@ -864,8 +864,12 @@ alpha_sigtramp_frame_prev_register (struct frame_info *next_frame,
      current description of it in alpha_sigtramp_frame_unwind_cache
      doesn't include it.  Too bad.  Fall back on whatever's in the
      outer frame.  */
-  frame_register (next_frame, regnum, optimizedp, lvalp, addrp,
-                 realnump, bufferp);
+  *optimizedp = 0;
+  *lvalp = lval_register;
+  *addrp = 0;
+  *realnump = regnum;
+  if (bufferp)
+    frame_unwind_register (next_frame, *realnump, bufferp);
 }
 
 static const struct frame_unwind alpha_sigtramp_frame_unwind = {
@@ -1218,8 +1222,12 @@ alpha_heuristic_frame_prev_register (struct frame_info *next_frame,
     }
 
   /* Otherwise assume the next frame has the same register value.  */
-  frame_register_unwind (next_frame, regnum, optimizedp, lvalp, addrp,
-                         realnump, bufferp);
+  *optimizedp = 0;
+  *lvalp = lval_register;
+  *addrp = 0;
+  *realnump = regnum;
+  if (bufferp)
+    frame_unwind_register (next_frame, *realnump, bufferp);
 }
 
 static const struct frame_unwind alpha_heuristic_frame_unwind = {
index 32a97d7c6f5e3a7107b3296660bdab8f5e08c616..8d393050c685fc5b5a02033e99aaa6fa5fe85730 100644 (file)
@@ -1103,10 +1103,7 @@ reinit_frame_cache (void)
 
 /* Find where a register is saved (in memory or another register).
    The result of frame_register_unwind is just where it is saved
-   relative to this particular frame.
-
-   FIXME: alpha, m32c, and h8300 actually do the transitive operation
-   themselves.  */
+   relative to this particular frame.  */
 
 static void
 frame_register_unwind_location (struct frame_info *this_frame, int regnum,
index 4b0652120e05d47c225ce864a437de383089eb70..f5a8e4df16c95a58b46c1d5f8ecd6fee0d2c1f7b 100644 (file)
@@ -529,8 +529,12 @@ h8300_frame_prev_register (struct frame_info *next_frame, void **this_cache,
       return;
     }
 
-  frame_register_unwind (next_frame, regnum,
-                        optimizedp, lvalp, addrp, realnump, valuep);
+  *optimizedp = 0;
+  *lvalp = lval_register;
+  *addrp = 0;
+  *realnump = regnum;
+  if (valuep)
+    frame_unwind_register (next_frame, *realnump, valuep);
 }
 
 static const struct frame_unwind h8300_frame_unwind = {
index 12e0ec2ff598ef79a18977d28d5cc72fbe5395fd..3aeeedf560c849daa7037c0dc0d9bdb11471e608 100644 (file)
@@ -1919,8 +1919,14 @@ m32c_prev_register (struct frame_info *next_frame,
   /* Otherwise, presume we haven't changed the value of this
      register, and get it from the next frame.  */
   else
-    frame_register_unwind (next_frame, regnum,
-                          optimizedp, lvalp, addrp, realnump, bufferp);
+    {
+      *optimizedp = 0;
+      *lvalp = lval_register;
+      *addrp = 0;
+      *realnump = regnum;
+      if (bufferp)
+       frame_unwind_register (next_frame, *realnump, bufferp);
+    }
 }