This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: Make -exec-run and -exec-until into 'real' MI commands
- From: Vladimir Prus <vladimir at codesourcery dot com>
- To: Daniel Jacobowitz <dan at codesourcery dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Wed, 24 Feb 2010 10:34:07 +0300
- Subject: Re: Make -exec-run and -exec-until into 'real' MI commands
- References: <201001131629.25873.vladimir@codesourcery.com> <20100113202620.GB3955@caradoc.them.org> <201002221723.48625.vladimir@codesourcery.com>
On Monday 22 February 2010 17:23:48 Vladimir Prus wrote:
> > > I believe the fact that no known frontends use args was raised the last time,
> > > but you still wanted to assume they exist.
> >
> > Blech, I hate having to argue with myself.
> >
> > I suggest asking for a second opinion then. I don't think this
> > quoting is good enough to be a good idea. I think we can get away
> > without it for -exec-run. I don't know about -exec-until.
>
> Apparently, nobody seem to have a second opinion :-(
> So, unless I hear objections by tomorrow, I will commit a patch that:
>
> a) make -exec-run refuse to accept any parameters, as no frontend
> that cares is known.
> b) does nothing with -exec-until, since your point about \t seems like
> a killer. I'll fix -exec-until for MI3, whenever that comes around.
Nobody has spoked up, so I've checked in the below.
Thanks,
--
Vladimir Prus
CodeSourcery
vladimir@codesourcery.com
(650) 331-3385 x722
commit c5b28d25aa4e6126c642cfa72285041f7641aeae
Author: Vladimir Prus <vladimir@codesourcery.com>
Date: Fri Dec 25 16:04:03 2009 +0300
Make -exec-run a proper MI commands.
* mi/mi-cmds.h (mi_cmd_exec_run): Declare.
* mi/mi-cmds.c (mi_cmds): Adjust.
* mi/mi-main.c (mi_cmd_exec_run): New.
diff --git a/gdb/mi/mi-cmds.c b/gdb/mi/mi-cmds.c
index 201d66b..1acd54c 100644
--- a/gdb/mi/mi-cmds.c
+++ b/gdb/mi/mi-cmds.c
@@ -65,7 +65,7 @@ struct mi_cmd mi_cmds[] =
{ "exec-next", { NULL, 0 }, mi_cmd_exec_next},
{ "exec-next-instruction", { NULL, 0 }, mi_cmd_exec_next_instruction},
{ "exec-return", { NULL, 0 }, mi_cmd_exec_return},
- { "exec-run", { "run", 1 }, NULL},
+ { "exec-run", { NULL, 0}, mi_cmd_exec_run},
{ "exec-step", { NULL, 0 }, mi_cmd_exec_step},
{ "exec-step-instruction", { NULL, 0 }, mi_cmd_exec_step_instruction},
{ "exec-until", { "until", 1 }, NULL},
diff --git a/gdb/mi/mi-cmds.h b/gdb/mi/mi-cmds.h
index f76e217..7feb1c2 100644
--- a/gdb/mi/mi-cmds.h
+++ b/gdb/mi/mi-cmds.h
@@ -54,13 +54,14 @@ extern mi_cmd_argv_ftype mi_cmd_env_path;
extern mi_cmd_argv_ftype mi_cmd_env_pwd;
extern mi_cmd_argv_ftype mi_cmd_exec_continue;
extern mi_cmd_argv_ftype mi_cmd_exec_finish;
+extern mi_cmd_argv_ftype mi_cmd_exec_interrupt;
extern mi_cmd_argv_ftype mi_cmd_exec_jump;
extern mi_cmd_argv_ftype mi_cmd_exec_next;
extern mi_cmd_argv_ftype mi_cmd_exec_next_instruction;
extern mi_cmd_argv_ftype mi_cmd_exec_return;
+extern mi_cmd_argv_ftype mi_cmd_exec_run;
extern mi_cmd_argv_ftype mi_cmd_exec_step;
extern mi_cmd_argv_ftype mi_cmd_exec_step_instruction;
-extern mi_cmd_argv_ftype mi_cmd_exec_interrupt;
extern mi_cmd_argv_ftype mi_cmd_file_list_exec_source_file;
extern mi_cmd_argv_ftype mi_cmd_file_list_exec_source_files;
extern mi_cmd_argv_ftype mi_cmd_gdb_exit;
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c
index 9d9e3da..f1b745c 100644
--- a/gdb/mi/mi-main.c
+++ b/gdb/mi/mi-main.c
@@ -330,6 +330,13 @@ mi_cmd_exec_interrupt (char *command, char **argv, int argc)
error ("Usage: -exec-interrupt [--all|--thread-group id]");
}
+void
+mi_cmd_exec_run (char *command, char **argv, int argc)
+{
+ mi_execute_cli_command ("run", target_can_async_p (),
+ target_can_async_p () ? "&" : NULL);
+}
+
static int
find_thread_of_process (struct thread_info *ti, void *p)
{