This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] -mi-level command



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]