From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10715 invoked by alias); 19 Mar 2008 13:43:09 -0000 Received: (qmail 10703 invoked by uid 22791); 19 Mar 2008 13:43:06 -0000 X-Spam-Check-By: sourceware.org Received: from vms048pub.verizon.net (HELO vms048pub.verizon.net) (206.46.252.48) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 19 Mar 2008 13:42:40 +0000 Received: from black ([71.245.67.80]) by vms048.mailsrvcs.net (Sun Java System Messaging Server 6.2-6.01 (built Apr 3 2006)) with ESMTPA id <0JXZ00CAXCPBGEW2@vms048.mailsrvcs.net> for gdb@sources.redhat.com; Wed, 19 Mar 2008 08:41:35 -0500 (CDT) Received: from bob by black with local (Exim 4.67) (envelope-from ) id 1JbyXu-0003fh-IN; Wed, 19 Mar 2008 09:41:34 -0400 Date: Wed, 19 Mar 2008 13:50:00 -0000 From: Bob Rossi Subject: Re: MI non-stop mode spec In-reply-to: <200803191419.39958.vladimir@codesourcery.com> To: Vladimir Prus Cc: gdb@sources.redhat.com Mail-followup-to: Vladimir Prus , gdb@sources.redhat.com Message-id: <20080319134134.GH12641@brasko.net> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-disposition: inline References: <200803190016.02072.vladimir@codesourcery.com> <20080319110938.GF12641@brasko.net> <200803191419.39958.vladimir@codesourcery.com> User-Agent: Mutt/1.5.15+20070412 (2007-04-11) X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2008-03/txt/msg00158.txt.bz2 On Wed, Mar 19, 2008 at 02:19:39PM +0300, Vladimir Prus wrote: > On Wednesday 19 March 2008 14:09:38 Bob Rossi wrote: > > On Wed, Mar 19, 2008 at 12:16:01AM +0300, Vladimir Prus wrote: > > > > > > Making good used of GDB in async mode, and especially in async non-stop > > > mode demands some changes in MI -- both general clarifications, and actual > > > work to allow most MI commands while the target is running and define > > > their behaviour. > > > > Do you mind posting an updated grammar for the GDB/MI changes that you > > are making? or at least just a diff of it? > > The following changes will happen: > output ==> > ( out-of-band-record )* [ result-record ] "(gdb)" nl > becomes: > output ==> > ( out-of-band-record | result-record | "(gdb)" ) nl OK, something seems wrong here. Previously, you could have 0 or more out-of-band-records. That could be followed by a result-record, but didn't have to be, and then the obvious "(gdb)" nl. Now you are saying you must have 1 out-of-band-record followed by 1 result-record. Is this what you intended to say? I mean, currently, how would that support handling multiples lines of output from the inferior on stdout? > then > async-class ==> > "stopped" | others (where others will be added depending on the needs--this is still in development). > becomes: > async-class ==> > "stopped" | "running" | "thread-created" | others (where others will be added depending on the needs--this is still in development). OK, makes perfect sense. > > I currently maintain a gdb/mi bison parser that i have not put into > > production use yet. However, the time for this is coming, I will > > probably start working on this again after all of these changes get > > through. > > Except for the 'output' change -- which essentially codifies that > MI output is a sequence of almost independent lines, I don't think > there are further changes to the grammar planned except for adding > new async-classes. OK, that's great. Please think about the request I'm going to make, I think it's very important. I think the first thing gdb should do is output a single line (a header) that tells the version that mi is going to use during this communication, and the current versions that the particular gdb supports. The more we bump the MI revisions, the more it is going to take time for front ends to continually start gdb, probing for the best version it supports. I can submit a patch for this, if you don't feel like doing it. > > At one point, I would parse all of the output of gdb/mi that came > > from running 'make check' in the gdb.mi testsuite. If you would like, > > I could do that again after your patch, and let you know where it > > breaks. > > That would be good, thanks. Ok, I'll do that once we have resolved what you expect the grammar to be. Bob Rossi