summaryrefslogtreecommitdiff
path: root/gdb/frame.c
diff options
context:
space:
mode:
authorLuis Machado <luisgpm@br.ibm.com>2011-09-07 02:33:56 +0000
committerLuis Machado <luisgpm@br.ibm.com>2011-09-07 02:33:56 +0000
commitea9812279fe436be9a010d07ef1dbe465199a3d7 (patch)
tree8d984b117ea6981b55065c8fce1a85997ac80c2c /gdb/frame.c
parent223b94cd31189790fd589618830f9d7a987f20a2 (diff)
downloadgdb-ea9812279fe436be9a010d07ef1dbe465199a3d7.tar.gz
2011-09-06 Luis Machado <lgustavo@codesourcery.com>
* frame.c (has_stack_frames): Check for currently selected traceframe.
Diffstat (limited to 'gdb/frame.c')
-rw-r--r--gdb/frame.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/gdb/frame.c b/gdb/frame.c
index 37f106a92b2..fc581fb1abe 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -1328,17 +1328,21 @@ has_stack_frames (void)
if (!target_has_registers || !target_has_stack || !target_has_memory)
return 0;
- /* No current inferior, no frame. */
- if (ptid_equal (inferior_ptid, null_ptid))
- return 0;
+ /* Traceframes are effectively a substitute for the live inferior. */
+ if (get_traceframe_number () < 0)
+ {
+ /* No current inferior, no frame. */
+ if (ptid_equal (inferior_ptid, null_ptid))
+ return 0;
- /* Don't try to read from a dead thread. */
- if (is_exited (inferior_ptid))
- return 0;
+ /* Don't try to read from a dead thread. */
+ if (is_exited (inferior_ptid))
+ return 0;
- /* ... or from a spinning thread. */
- if (is_executing (inferior_ptid))
- return 0;
+ /* ... or from a spinning thread. */
+ if (is_executing (inferior_ptid))
+ return 0;
+ }
return 1;
}