# HG changeset patch # User Stefan Teleman # Date 1441939253 25200 # Node ID 0057a9ea6dcb74e92e8eeadf53ee5dfbd4fb8135 # Parent 5d61c495aa756362397a1fdeb347ad6c80c46cc9 21813290 gdb: can't compute CFA for this frame (SPARC) diff -r 5d61c495aa75 -r 0057a9ea6dcb components/gdb/patches/gdb.gdb.dwarf2-frame.c.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/gdb/patches/gdb.gdb.dwarf2-frame.c.patch Thu Sep 10 19:40:53 2015 -0700 @@ -0,0 +1,26 @@ +# Known bug in GDB < 7.8: +# https://sourceware.org/bugzilla/show_bug.cgi?id=16215 +# Backported to GDB 7.6 until we upgrade to GDB 7.9. +# Without this patch, we get spurious errors debugging on SPARC, +# especially with GCC >= 4.9.0. +--- gdb-7.6/gdb/dwarf2-frame.c 2013-01-31 10:31:48.000000000 -0800 ++++ gdb-7.6/gdb/dwarf2-frame.c 2015-09-09 16:07:52.767075883 -0700 +@@ -1497,16 +1497,12 @@ + { + while (get_frame_type (this_frame) == INLINE_FRAME) + this_frame = get_prev_frame (this_frame); +- /* 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_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); + } +