summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-03-05 20:26:46 +0000
committerAndrew Cagney <cagney@redhat.com>2003-03-05 20:26:46 +0000
commitaf98f140758e52703e7e45393ba410c9bd4eaf5a (patch)
tree8b5f99ed634a6f1da0fa665b69d29b2a37b1c242
parent110f44ec0701979907256c39db5264e7e396c3c4 (diff)
downloadgdb-af98f140758e52703e7e45393ba410c9bd4eaf5a.tar.gz
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.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/frame.c7
2 files changed, 11 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 318eb8a5481..a7b9fa00e65 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
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
"id_unwind_cache" with "id".
(frame_id_unwind): Delete declaration.
diff --git a/gdb/frame.c b/gdb/frame.c
index 5668d66e218..5d220c9f2bd 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -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