aboutsummaryrefslogtreecommitdiff
path: root/gdb/frame.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/frame.c')
-rw-r--r--gdb/frame.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gdb/frame.c b/gdb/frame.c
index d621dd7..c25ce4c 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -444,6 +444,19 @@ skip_artificial_frames (struct frame_info *frame)
return frame;
}
+struct frame_info *
+skip_unwritable_frames (struct frame_info *frame)
+{
+ while (gdbarch_code_of_frame_writable (get_frame_arch (frame), frame) == 0)
+ {
+ frame = get_prev_frame (frame);
+ if (frame == NULL)
+ break;
+ }
+
+ return frame;
+}
+
/* See frame.h. */
struct frame_info *