This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] No resuming while tfinding
On Thursday 18 March 2010 12:19:11, Pedro Alves wrote:
> Hmm, it seems I missed adding ensure_not_running to those then. Also, this
> in both until_command and advance_command:
>
> if (!target_has_execution)
> error (_("The program is not running."));
>
> could be replaced by ERROR_NO_INFERIOR.
This is fixed now with the patch below. Tested on x86_64-linux and
checked in.
--
Pedro Alves
2010-03-18 Pedro Alves <pedro@codesourcery.com>
gdb/
* infcmd.c (until_command): Use ERROR_NO_INFERIOR. Ensure there's
a valid selected thread, and that it is not running.
(advance_command): Ditto.
(finish_command): Ditto.
gdb/testsuite/
* gdb.base/default.exp: Adjust.
---
gdb/infcmd.c | 17 +++++++++--------
gdb/testsuite/gdb.base/default.exp | 6 +++---
2 files changed, 12 insertions(+), 11 deletions(-)
Index: src/gdb/infcmd.c
===================================================================
--- src.orig/gdb/infcmd.c 2010-03-18 12:33:16.000000000 +0000
+++ src/gdb/infcmd.c 2010-03-18 13:01:35.000000000 +0000
@@ -1274,10 +1274,10 @@ until_command (char *arg, int from_tty)
{
int async_exec = 0;
- if (!target_has_execution)
- error (_("The program is not running."));
-
+ ERROR_NO_INFERIOR;
ensure_not_tfind_mode ();
+ ensure_valid_thread ();
+ ensure_not_running ();
/* Find out whether we must run in the background. */
if (arg != NULL)
@@ -1307,10 +1307,10 @@ advance_command (char *arg, int from_tty
{
int async_exec = 0;
- if (!target_has_execution)
- error (_("The program is not running."));
-
+ ERROR_NO_INFERIOR;
ensure_not_tfind_mode ();
+ ensure_valid_thread ();
+ ensure_not_running ();
if (arg == NULL)
error_no_arg (_("a location"));
@@ -1565,7 +1565,10 @@ finish_command (char *arg, int from_tty)
int async_exec = 0;
+ ERROR_NO_INFERIOR;
ensure_not_tfind_mode ();
+ ensure_valid_thread ();
+ ensure_not_running ();
/* Find out whether we must run in the background. */
if (arg != NULL)
@@ -1590,8 +1593,6 @@ finish_command (char *arg, int from_tty)
if (arg)
error (_("The \"finish\" command does not take any arguments."));
- if (!target_has_execution)
- error (_("The program is not running."));
frame = get_prev_frame (get_selected_frame (_("No selected frame.")));
if (frame == 0)
Index: src/gdb/testsuite/gdb.base/default.exp
===================================================================
--- src.orig/gdb/testsuite/gdb.base/default.exp 2010-03-18 12:56:43.000000000 +0000
+++ src/gdb/testsuite/gdb.base/default.exp 2010-03-18 12:58:07.000000000 +0000
@@ -250,7 +250,7 @@ gdb_expect {
}
#test finish
-gdb_test "finish" "The program is not running." "finish"
+gdb_test "finish" "The program is not being run." "finish"
#test forward-search
# The message here comes from the regexp library, not gdb, and so can
# vary on different systems.
@@ -753,9 +753,9 @@ gdb_test "tbreak" "No default breakpoint
#test tty
gdb_test "tty" "Argument required .filename to set it to\..*" "tty"
#test until "u" abbreviation
-gdb_test "u" "The program is not running." "until \"u\" abbreviation"
+gdb_test "u" "The program is not being run." "until \"u\" abbreviation"
#test until
-gdb_test "until" "The program is not running." "until"
+gdb_test "until" "The program is not being run." "until"
#test undisplay
# FIXME -- need to dump full output to detailed log
send_gdb "undisplay\n"