equal
deleted
inserted
replaced
1 # Known bug in GDB < 7.8: |
|
2 # https://sourceware.org/bugzilla/show_bug.cgi?id=16215 |
|
3 # Backported to GDB 7.6 until we upgrade to GDB 7.9. |
|
4 # Without this patch, we get spurious errors debugging on SPARC, |
|
5 # especially with GCC >= 4.9.0. |
|
6 --- gdb-7.6/gdb/dwarf2-frame.c 2013-01-31 10:31:48.000000000 -0800 |
|
7 +++ gdb-7.6/gdb/dwarf2-frame.c 2015-09-09 16:07:52.767075883 -0700 |
|
8 @@ -1497,16 +1497,12 @@ |
|
9 { |
|
10 while (get_frame_type (this_frame) == INLINE_FRAME) |
|
11 this_frame = get_prev_frame (this_frame); |
|
12 - /* This restriction could be lifted if other unwinders are known to |
|
13 - compute the frame base in a way compatible with the DWARF |
|
14 - unwinder. */ |
|
15 - if (!frame_unwinder_is (this_frame, &dwarf2_frame_unwind) |
|
16 - && !frame_unwinder_is (this_frame, &dwarf2_tailcall_frame_unwind)) |
|
17 - error (_("can't compute CFA for this frame")); |
|
18 + |
|
19 if (get_frame_unwind_stop_reason (this_frame) == UNWIND_UNAVAILABLE) |
|
20 throw_error (NOT_AVAILABLE_ERROR, |
|
21 _("can't compute CFA for this frame: " |
|
22 "required registers or memory are unavailable")); |
|
23 + |
|
24 return get_frame_base (this_frame); |
|
25 } |
|
26 |
|