From b257978619fc94c0b1f6c064377dcc37fa4a0468 Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Wed, 5 Mar 2003 20:26:46 +0000 Subject: [PATCH] 2003-03-05 Andrew Cagney * frame.c (deprecated_update_frame_pc_hack): Also update the the cached PC value in the next frame. --- gdb/ChangeLog | 5 +++++ gdb/frame.c | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 318eb8a5481..a7b9fa00e65 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2003-03-05 Andrew Cagney + + * frame.c (deprecated_update_frame_pc_hack): Also update the the + cached PC value in the next frame. + 2003-03-05 Andrew Cagney * frame.h (struct frame_info): Replace "id_unwind_cache_p" and 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 -- 2.30.2