components/gdb/patches/gdb.gdb.dwarf2-frame.c.patch
author saurabh.vyas@oracle.com
Wed, 27 Jan 2016 09:13:52 -0800
changeset 5350 0bd2e97a57c6
parent 4855 0057a9ea6dcb
permissions -rw-r--r--
22599480 move mcollective to Ruby 2.1 22599526 move stomp to Ruby 2.1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4855
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     1
# Known bug in GDB < 7.8:
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     2
# https://sourceware.org/bugzilla/show_bug.cgi?id=16215
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     3
# Backported to GDB 7.6 until we upgrade to GDB 7.9.
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     4
# Without this patch, we get spurious errors debugging on SPARC,
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     5
# especially with GCC >= 4.9.0.
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     6
--- gdb-7.6/gdb/dwarf2-frame.c	2013-01-31 10:31:48.000000000 -0800
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     7
+++ gdb-7.6/gdb/dwarf2-frame.c	2015-09-09 16:07:52.767075883 -0700
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     8
@@ -1497,16 +1497,12 @@
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     9
 {
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    10
   while (get_frame_type (this_frame) == INLINE_FRAME)
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    11
     this_frame = get_prev_frame (this_frame);
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    12
-  /* This restriction could be lifted if other unwinders are known to
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    13
-     compute the frame base in a way compatible with the DWARF
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    14
-     unwinder.  */
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    15
-  if (!frame_unwinder_is (this_frame, &dwarf2_frame_unwind)
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    16
-      && !frame_unwinder_is (this_frame, &dwarf2_tailcall_frame_unwind))
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    17
-    error (_("can't compute CFA for this frame"));
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    18
+
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    19
   if (get_frame_unwind_stop_reason (this_frame) == UNWIND_UNAVAILABLE)
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    20
     throw_error (NOT_AVAILABLE_ERROR,
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    21
 		 _("can't compute CFA for this frame: "
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    22
 		   "required registers or memory are unavailable"));
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    23
+
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    24
   return get_frame_base (this_frame);
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    25
 }
0057a9ea6dcb 21813290 gdb: can't compute CFA for this frame (SPARC)
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    26