diff options
author | Pedro Alves <palves@redhat.com> | 2012-01-17 14:03:33 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2012-01-17 14:03:33 +0000 |
commit | c0bf857debe9fdbde5374c2e43e817ebe8f2c4ec (patch) | |
tree | 8ae84a75e825452368d71031c353e62f836f6476 /gdb/dwarf2-frame.c | |
parent | 032fbb7a3a73874fc41598bc1b4db3a3894db15f (diff) | |
download | gdb-c0bf857debe9fdbde5374c2e43e817ebe8f2c4ec.zip gdb-c0bf857debe9fdbde5374c2e43e817ebe8f2c4ec.tar.gz gdb-c0bf857debe9fdbde5374c2e43e817ebe8f2c4ec.tar.bz2 |
2012-01-17 Pedro Alves <palves@redhat.com>
* dwarf2-frame.c (dwarf2_frame_cfa): Throw NOT_AVAILABLE_ERROR, if
the frame's stop reason is UNWIND_UNAVAILABLE.
Diffstat (limited to 'gdb/dwarf2-frame.c')
-rw-r--r-- | gdb/dwarf2-frame.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c index 88aa338..5870079 100644 --- a/gdb/dwarf2-frame.c +++ b/gdb/dwarf2-frame.c @@ -1490,6 +1490,10 @@ dwarf2_frame_cfa (struct frame_info *this_frame) 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_unwind_stop_reason (this_frame) == UNWIND_UNAVAILABLE) + throw_error (NOT_AVAILABLE_ERROR, + _("can't compute CFA for this frame: " + "required registers or memory are unavailable")); return get_frame_base (this_frame); } |