This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFC] -mi-level command
- From: Andrew Cagney <ac131313 at redhat dot com>
- To: Alain Magloire <alain at qnx dot com>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Wed, 07 May 2003 15:13:15 -0400
- Subject: Re: [RFC] -mi-level command
- References: <200305071834.OAA22796@node1.ott.qnx.com>
Bonjour
Maybe there is a better way to do this, most clients of GDB/MI
need a way to know the level to adjust the parsing or go around bugs in
previous(or current version).
One problem with the code below is that mi_version() is returning ..."3"
Should it also include the gdb version string?
Should it indicate the range of supported MI versions?
(what ever is useful).
'gdb -i=mi2' should get you back to something that was released in 5.3.
"mi3" won't become official until GDB 6 is released, however, for it
it return "2" would be wrong.
It will need documentation and a testcase.
Andrew
There is a problem here though
I'll be happy to provide docs etc .. after.
8<---8<---------------------------------------
Index: mi-cmds.c
===================================================================
RCS file: /cvs/src/src/gdb/mi/mi-cmds.c,v
retrieving revision 1.12
diff -u -r1.12 mi-cmds.c
--- mi-cmds.c 4 May 2003 03:50:13 -0000 1.12
+++ mi-cmds.c 7 May 2003 18:24:34 -0000
@@ -96,6 +96,7 @@
{"kod-list", 0, 0},
{"kod-list-object-types", 0, 0},
{"kod-show", 0, 0},
+ {"mi-level", 0, 0, mi_cmd_mi_level},
{"overlay-auto", 0, 0},
{"overlay-list-mapping-state", 0, 0},
{"overlay-list-overlays", 0, 0},
Index: mi-cmds.h
===================================================================
RCS file: /cvs/src/src/gdb/mi/mi-cmds.h,v
retrieving revision 1.9
diff -u -r1.9 mi-cmds.h
--- mi-cmds.h 4 May 2003 03:50:13 -0000 1.9
+++ mi-cmds.h 7 May 2003 18:24:34 -0000
@@ -81,6 +81,7 @@
extern mi_cmd_args_ftype mi_cmd_exec_until;
extern mi_cmd_args_ftype mi_cmd_exec_interrupt;
extern mi_cmd_argv_ftype mi_cmd_file_list_exec_source_file;
+extern mi_cmd_argv_ftype mi_cmd_mi_level;
extern mi_cmd_argv_ftype mi_cmd_gdb_exit;
extern mi_cmd_argv_ftype mi_cmd_interpreter_exec;
extern mi_cmd_argv_ftype mi_cmd_stack_info_depth;
Index: mi-main.c
===================================================================
RCS file: /cvs/src/src/gdb/mi/mi-main.c,v
retrieving revision 1.43
diff -u -r1.43 mi-main.c
--- mi-main.c 5 May 2003 17:56:57 -0000 1.43
+++ mi-main.c 7 May 2003 18:24:34 -0000
@@ -109,6 +109,13 @@
formalized. */
enum mi_cmd_result
+mi_cmd_mi_level (char *command, char **argv, int argc)
+{
+ ui_out_field_int (uiout, "level", mi_version(uiout));
Indentation, space before the lparen.
+ return MI_CMD_DONE;
+}
+
+enum mi_cmd_result
mi_cmd_gdb_exit (char *command, char **argv, int argc)
{
/* We have to print everything right here because we never return */
Andrew