aboutsummaryrefslogtreecommitdiff
path: root/gdb/blockframe.c
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1991-04-24 16:56:40 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1991-04-24 16:56:40 +0000
commit2403f49b376fd88066b676e92c95ca6f012f0e61 (patch)
tree14fd1ca0864952aa4ce62091e20ecd0ef43f152e /gdb/blockframe.c
parent6a3958b22d9bb9e23d03ba1e4c20a5cde0be747f (diff)
downloadgdb-2403f49b376fd88066b676e92c95ca6f012f0e61.zip
gdb-2403f49b376fd88066b676e92c95ca6f012f0e61.tar.gz
gdb-2403f49b376fd88066b676e92c95ca6f012f0e61.tar.bz2
* blockframe.c, frame.h (reinit_frame_cache): New function.
solib.c (solib_add), symfile.c ({,add_}symbol_file_command): Use it.
Diffstat (limited to 'gdb/blockframe.c')
-rw-r--r--gdb/blockframe.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gdb/blockframe.c b/gdb/blockframe.c
index 7971166..93d26cd 100644
--- a/gdb/blockframe.c
+++ b/gdb/blockframe.c
@@ -146,6 +146,17 @@ flush_cached_frames ()
current_frame = (struct frame_info *) 0; /* Invalidate cache */
}
+/* Flush the frame cache, and start a new one if necessary. */
+void
+reinit_frame_cache ()
+{
+ FRAME fr = current_frame;
+ flush_cached_frames ();
+ if (fr)
+ set_current_frame ( create_new_frame (read_register (FP_REGNUM),
+ read_pc ()));
+}
+
/* Return a structure containing various interesting information
about a specified stack frame. */
/* How do I justify including this function? Well, the FRAME