2003-03-05 Andrew Cagney <cagney@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Wed, 5 Mar 2003 20:26:46 +0000 (20:26 +0000)
committerAndrew Cagney <cagney@redhat.com>
Wed, 5 Mar 2003 20:26:46 +0000 (20:26 +0000)
* frame.c (deprecated_update_frame_pc_hack): Also update the the
cached PC value in the next frame.

gdb/ChangeLog
gdb/frame.c

index 318eb8a548121c41a088dea5f4c40605e616bd24..a7b9fa00e6513ac1fc03290ac57984c24bdf4f30 100644 (file)
@@ -1,3 +1,8 @@
+2003-03-05  Andrew Cagney  <cagney@redhat.com>
+
+       * frame.c (deprecated_update_frame_pc_hack): Also update the the
+       cached PC value in the next frame.
+
 2003-03-05  Andrew Cagney  <cagney@redhat.com>
 
        * frame.h (struct frame_info): Replace "id_unwind_cache_p" and
index 5668d66e2189d786b85157a7e5287127de56e93a..5d220c9f2bd1795976a4d04840189bae34349364 100644 (file)
@@ -1503,8 +1503,13 @@ void
 deprecated_update_frame_pc_hack (struct frame_info *frame, CORE_ADDR pc)
 {
   /* See comment in "frame.h".  */
-  gdb_assert (frame->next != NULL);
   frame->pc = pc;
+  /* While we're at it, update this frame's cached PC value, found in
+     the next frame.  Oh, for the day when "struct frame_info" is
+     opaque and this hack on hack can go.  */
+  gdb_assert (frame->next != NULL);
+  frame->next->pc_unwind_cache = pc;
+  frame->next->pc_unwind_cache_p = 1;
 }
 
 void