aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/infrun.c3
-rw-r--r--gdb/stack.c6
3 files changed, 14 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 493bd7d..4c4ecd5 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+Tue Feb 29 17:33:49 2000 Andrew Cagney <cagney@b1.cygnus.com>
+
+ From Wed, 23 Feb 2000 Fernando Nasser <fnasser@redhat.com>:
+ * stack.c (backtrace_command_1), infrun.c (normal_stop): Check
+ that the target's stack was valid.
+
Tue Feb 29 15:14:56 2000 Andrew Cagney <cagney@b1.cygnus.com>
From 2000-02-22 Stephane Carrez <stcarrez@worldnet.fr>:
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 2a3a1c8..96a659e 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -3429,7 +3429,8 @@ The same program may be running in another process.\n");
bpstat_print() contains the logic deciding in detail
what to print, based on the event(s) that just occurred. */
- if (stop_print_frame)
+ if (stop_print_frame
+ && selected_frame)
{
int bpstat_ret;
int source_flag;
diff --git a/gdb/stack.c b/gdb/stack.c
index c586f45..8684b7b 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -1111,6 +1111,12 @@ backtrace_command_1 (count_exp, show_locals, from_tty)
printing. Second, it must set the variable count to the number
of frames which we should print, or -1 if all of them. */
trailing = get_current_frame ();
+
+ /* The target can be in a state where there is no valid frames
+ (e.g., just connected). */
+ if (trailing == NULL)
+ error ("No stack.");
+
trailing_level = 0;
if (count_exp)
{