From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2323 invoked by alias); 23 May 2012 00:29:14 -0000 Received: (qmail 2308 invoked by uid 22791); 23 May 2012 00:29:12 -0000 X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_NONE,RCVD_IN_HOSTKARMA_YE,TW_RG,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from elasmtp-junco.atl.sa.earthlink.net (HELO elasmtp-junco.atl.sa.earthlink.net) (209.86.89.63) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 23 May 2012 00:28:58 +0000 Received: from [68.96.200.16] (helo=macbook2.local) by elasmtp-junco.atl.sa.earthlink.net with esmtpa (Exim 4.67) (envelope-from ) id 1SWzRh-0003a3-PO for gdb-patches@sourceware.org; Tue, 22 May 2012 20:28:57 -0400 Message-ID: <4FBC2F40.2010907@earthlink.net> Date: Wed, 23 May 2012 00:29:00 -0000 From: Stan Shebs User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:12.0) Gecko/20120428 Thunderbird/12.0.1 MIME-Version: 1.0 To: gdb-patches@sourceware.org Subject: [PATCH v2] Add the "-info-os" command to MI Content-Type: multipart/mixed; boundary="------------070305010303000000040409" X-ELNK-Trace: ae6f8838ff913eba0cc1426638a40ef67e972de0d01da940c8e1bbb486ba97ab77e1ff558c3580fb350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-05/txt/msg00858.txt.bz2 This is a multi-part message in MIME format. --------------070305010303000000040409 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-length: 980 This patch is a minor rework/repost of http://sourceware.org/ml/gdb-patches/2011-11/msg00836.html , which Kwok got approved last November but then fell through the cracks. I updated it, tweaked the docs per Eli, and add a simple sanity test. It all seems pretty obvious, but on the off-chance that somebody sees something I missed, I'll wait a day to commit it. Stan 2012-05-22 Stan Shebs Kwok Cheung Yeung * Makefile.in (SUBDIR_MI_OBS): Add mi-cmd-info.o. (SUBDIR_MI_SRCS): Add mi-cmd-info.c. (mi-cmd-info.o): New rule. * osdata.h (info_osdata_command): New declaration. * osdata.c (info_osdata_command): Change to non-static. * mi/mi-cmds.h (mi_cmd_info_os): New declaration. * mi/mi-cmds.c (mi_cmds): Add -info-os MI command. * mi/mi-cmd-info.c: New file. * gdb.texinfo (Miscellaneous GDB/MI Commands): Document -info-os. * gdb.mi/mi-info-os.exp: New file. --------------070305010303000000040409 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="miinfoos-patch-1" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="miinfoos-patch-1" Content-length: 7114 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" --------------070305010303000000040409--