Index: Makefile.in =================================================================== RCS file: /cvs/src/src/gdb/Makefile.in,v retrieving revision 1.1207 diff -u -p -r1.1207 Makefile.in --- Makefile.in 27 Apr 2012 20:47:50 -0000 1.1207 +++ Makefile.in 23 May 2012 00:18:07 -0000 @@ -202,14 +202,14 @@ SUBDIR_MI_OBS = \ mi-out.o mi-console.o \ mi-cmds.o mi-cmd-env.o mi-cmd-var.o mi-cmd-break.o mi-cmd-stack.o \ mi-cmd-file.o mi-cmd-disas.o mi-symbol-cmds.o mi-cmd-target.o \ - mi-interp.o \ + mi-cmd-info.o mi-interp.o \ mi-main.o mi-parse.o mi-getopt.o SUBDIR_MI_SRCS = \ mi/mi-out.c mi/mi-console.c \ mi/mi-cmds.c mi/mi-cmd-env.c \ mi/mi-cmd-var.c mi/mi-cmd-break.c mi/mi-cmd-stack.c \ mi/mi-cmd-file.c mi/mi-cmd-disas.c mi/mi-symbol-cmds.c \ - mi/mi-cmd-target.c mi/mi-interp.c \ + mi/mi-cmd-target.c mi/mi-cmd-info.c mi/mi-interp.c \ mi/mi-main.c mi/mi-parse.c mi/mi-getopt.c SUBDIR_MI_DEPS = SUBDIR_MI_LDFLAGS= @@ -1837,6 +1837,10 @@ mi-cmd-file.o: $(srcdir)/mi/mi-cmd-file. $(COMPILE) $(srcdir)/mi/mi-cmd-file.c $(POSTCOMPILE) +mi-cmd-info.o: $(srcdir)/mi/mi-cmd-info.c + $(COMPILE) $(srcdir)/mi/mi-cmd-info.c + $(POSTCOMPILE) + mi-cmds.o: $(srcdir)/mi/mi-cmds.c $(COMPILE) $(srcdir)/mi/mi-cmds.c $(POSTCOMPILE) Index: NEWS =================================================================== RCS file: /cvs/src/src/gdb/NEWS,v retrieving revision 1.525 diff -u -p -r1.525 NEWS --- NEWS 22 May 2012 17:12:07 -0000 1.525 +++ NEWS 23 May 2012 00:18:07 -0000 @@ -117,6 +117,10 @@ * GDB can now support 'breakpoint always-inserted mode' in 'record' target. +* MI changes + + ** New command -info-os is the MI equivalent of "info os". + * New commands ** "catch load" and "catch unload" can be used to stop when a shared Index: osdata.c =================================================================== RCS file: /cvs/src/src/gdb/osdata.c,v retrieving revision 1.15 diff -u -p -r1.15 osdata.c --- osdata.c 27 Mar 2012 19:08:36 -0000 1.15 +++ osdata.c 23 May 2012 00:18:07 -0000 @@ -288,7 +288,7 @@ get_osdata_column (struct osdata_item *i return NULL; } -static void +void info_osdata_command (char *type, int from_tty) { struct ui_out *uiout = current_uiout; Index: osdata.h =================================================================== RCS file: /cvs/src/src/gdb/osdata.h,v retrieving revision 1.6 diff -u -p -r1.6 osdata.h --- osdata.h 4 Jan 2012 08:17:09 -0000 1.6 +++ osdata.h 23 May 2012 00:18:07 -0000 @@ -49,5 +49,6 @@ void osdata_free (struct osdata *); struct cleanup *make_cleanup_osdata_free (struct osdata *data); struct osdata *get_osdata (const char *type); const char *get_osdata_column (struct osdata_item *item, const char *name); +void info_osdata_command (char *type, int from_tty); #endif /* OSDATA_H */ Index: mi/mi-cmd-info.c =================================================================== RCS file: mi/mi-cmd-info.c diff -N mi/mi-cmd-info.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ mi/mi-cmd-info.c 23 May 2012 00:18:07 -0000 @@ -0,0 +1,38 @@ +/* MI Command Set - information commands. + Copyright (C) 2011-2012 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "defs.h" +#include "osdata.h" +#include "mi-cmds.h" + +void +mi_cmd_info_os (char *command, char **argv, int argc) +{ + switch (argc) + { + case 0: + info_osdata_command ("", 0); + break; + case 1: + info_osdata_command (argv[0], 0); + break; + default: + error (_("Usage: -info-os [INFOTYPE]")); + break; + } +} Index: mi/mi-cmds.c =================================================================== RCS file: /cvs/src/src/gdb/mi/mi-cmds.c,v retrieving revision 1.59 diff -u -p -r1.59 mi-cmds.c --- mi/mi-cmds.c 6 Mar 2012 22:48:53 -0000 1.59 +++ mi/mi-cmds.c 23 May 2012 00:18:07 -0000 @@ -89,6 +89,7 @@ struct mi_cmd mi_cmds[] = { "gdb-version", { "show version", 0 }, 0 }, { "inferior-tty-set", { NULL, 0 }, mi_cmd_inferior_tty_set}, { "inferior-tty-show", { NULL, 0 }, mi_cmd_inferior_tty_show}, + { "info-os", { NULL, 0 }, mi_cmd_info_os}, { "interpreter-exec", { NULL, 0 }, mi_cmd_interpreter_exec}, { "list-features", { NULL, 0 }, mi_cmd_list_features}, { "list-target-features", { NULL, 0 }, mi_cmd_list_target_features}, Index: mi/mi-cmds.h =================================================================== RCS file: /cvs/src/src/gdb/mi/mi-cmds.h,v retrieving revision 1.54 diff -u -p -r1.54 mi-cmds.h --- mi/mi-cmds.h 6 Mar 2012 22:48:53 -0000 1.54 +++ mi/mi-cmds.h 23 May 2012 00:18:07 -0000 @@ -73,6 +73,7 @@ extern mi_cmd_argv_ftype mi_cmd_file_lis extern mi_cmd_argv_ftype mi_cmd_gdb_exit; extern mi_cmd_argv_ftype mi_cmd_inferior_tty_set; extern mi_cmd_argv_ftype mi_cmd_inferior_tty_show; +extern mi_cmd_argv_ftype mi_cmd_info_os; extern mi_cmd_argv_ftype mi_cmd_interpreter_exec; extern mi_cmd_argv_ftype mi_cmd_list_features; extern mi_cmd_argv_ftype mi_cmd_list_target_features; Index: testsuite/gdb.mi/mi-info-os.exp =================================================================== RCS file: testsuite/gdb.mi/mi-info-os.exp diff -N testsuite/gdb.mi/mi-info-os.exp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ testsuite/gdb.mi/mi-info-os.exp 23 May 2012 00:18:07 -0000 @@ -0,0 +1,38 @@ +# Copyright 2012 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +load_lib mi-support.exp +set MIFLAGS "-i=mi" + +# This test is Linux-only. +if ![istarget *-*-linux*] then { + unsupported "mi-info-os.exp" + return -1 +} + +# Support for XML-output is needed to run this test. +if [gdb_skip_xml_test] then { + unsupported "mi-info-os.exp" + return -1 +} + +gdb_exit +if [mi_gdb_start] { + continue +} + +# Try the argument-less form that lists all the types in a table. + +mi_gdb_test "-info-os" ".*\\^done,OSDataTable=.*" "-info-os"