diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/dwarf2-frame.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c index 199ccea..f2053f4 100644 --- a/gdb/dwarf2-frame.c +++ b/gdb/dwarf2-frame.c @@ -1510,12 +1510,12 @@ dwarf2_frame_cfa (struct frame_info *this_frame) throw_error (NOT_AVAILABLE_ERROR, _("can't compute CFA for this frame: " "required registers or memory are unavailable")); - /* This restriction could be lifted if other unwinders are known to - compute the frame base in a way compatible with the DWARF - unwinder. */ - if (!frame_unwinder_is (this_frame, &dwarf2_frame_unwind) - && !frame_unwinder_is (this_frame, &dwarf2_tailcall_frame_unwind)) - error (_("can't compute CFA for this frame")); + + if (get_frame_id (this_frame).stack_status != FID_STACK_VALID) + throw_error (NOT_AVAILABLE_ERROR, + _("can't compute CFA for this frame: " + "frame base not available")); + return get_frame_base (this_frame); } |