From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25816 invoked by alias); 5 Jan 2005 01:36:34 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 25299 invoked from network); 5 Jan 2005 01:36:18 -0000 Received: from unknown (HELO lakermmtao02.cox.net) (68.230.240.37) by sourceware.org with SMTP; 5 Jan 2005 01:36:18 -0000 Received: from white ([68.9.64.121]) by lakermmtao02.cox.net (InterMail vM.6.01.04.00 201-2131-117-20041022) with ESMTP id <20050105013616.EGOQ2202.lakermmtao02.cox.net@white>; Tue, 4 Jan 2005 20:36:16 -0500 Received: from bob by white with local (Exim 3.35 #1 (Debian)) id 1Cm05y-0006gW-00; Tue, 04 Jan 2005 20:36:18 -0500 Date: Wed, 05 Jan 2005 01:36:00 -0000 From: Bob Rossi To: Alain Magloire , Eli Zaretskii , Andrew Cagney , nick@nick.uklinux.net, gdb-patches@sources.redhat.com Cc: jingham@apple.com Subject: Re: MI handshaking Message-ID: <20050105013617.GB25675@white> Mail-Followup-To: Alain Magloire , Eli Zaretskii , Andrew Cagney , nick@nick.uklinux.net, gdb-patches@sources.redhat.com, jingham@apple.com References: <20041117173205.GA5350@white> <200411180135.UAA14730@smtp.ott.qnx.com> <20041119192313.GA2202@white> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20041119192313.GA2202@white> User-Agent: Mutt/1.3.28i X-SW-Source: 2005-01/txt/msg00019.txt.bz2 On Fri, Nov 19, 2004 at 02:23:13PM -0500, Bob Rossi wrote: > On Wed, Nov 17, 2004 at 08:35:32PM -0500, Alain Magloire wrote: > > > > > > On Wed, Nov 17, 2004 at 10:17:57AM -0500, Alain Magloire wrote: > > > > > > > > > > On Sat, Nov 13, 2004 at 10:57:33AM +0200, Eli Zaretskii wrote: > > > > > > > Date: Fri, 12 Nov 2004 17:57:30 -0500 > > > > > > > From: Andrew Cagney > > > > > > > Cc: Bob Rossi , Nick Roberts , > > > > > > > gdb-patches@sources.redhat.com > > > > > > > > > > > > > > > =mi-handshake,versions=[mi1,mi2,mi3],stable=[mi2] > > > > > > > > > > > > > > Yes, thanks for the correction with ``=''. But not > > > > > > > ``versions=[mi1,mi2,mi3]'' that's too much and misleading information. > > > > > > > > > > > > > > I think the objective here needs to be to provide as much information as > > > > > > > possible about what version of GDB and MI is running. Hence the: > > > > > > > > > > > > > > version="mi2" > > > > > > > > > > > > > > (where hopefully VERSION version is a member of STABLE :-) > > > > > > > > > > > > We've been through this discussion, and the only suggestion that > > > > > > brought a consensus was to print all the supported MI versions, not > > > > > > just one. Let's not reopen that discussion again, even if the result > > > > > > looks ``too much and misleading''. (Why ``misleading'', btw?) > > > > > > > > > > Yeah, anyways it doesn't really matter for now. GDB only supports one > > > > > version, and I have a feeling it will stay that way for a long time. > > > > > > > > > > > > > sigh ... sorry for being dense (hopefully this will not be a long thread) > > > > but why are you keep on saying: "GDB only supports one version" > > > > for example, I have gdb-6.1.x and I can start > > > > # gdb -i mi1 > > > > # gdb -i mi2 > > > > # gdb -i mi3 > > > > > > > > that it is more then one version? > > > > > > oops, sorry, I meant to say that GDB supports only 1 stable MI version. > > > This is only relavent when discussing what GDB should do when the user > > > starts with 'gdb -i=mi'. > > > > > > I see 2 needs stemming from this patch. > > > > > > - I need the handshaking to happen before any other I/O. > > > This allows my front end to determine the protocol that is going to > > > be used by GDB. > > > > > > - Alain, it seems like you need this command to be available after > > > the fact. Even though this seems unintuitive to me, I understand > > > that it's not a perfect world, and this info could be useful later > > > on, especially if you are not responsible for staring GDB. > > > > > > > Yes. > > Very true, it is not a perfect world but I also think it is rather inconsistent > > that important information is lost once the screen scrolled away, > > i.e. no way to retrieve it, beside restarting ... > > > > > It seems as if there is two parts to this patch. The first part does the > > > handshaking, and that takes care of the protocol that should be used. > > > Here, GDB will give all of the info necessary to help the front end determine > > > the protocol that it wants to use. For instance, the protocols possible, > > > the build date, the GDB version, ... > > > > > > Also, as a second part, a new MI command could be added, that simply > > > repeats all of the info determined from the handshaking functionality. > > > This would allow front ends to query the information later on, if for > > > some reason it couldn't do it originally. Note however, this would not > > > repeat the handshaking, and the version of MI being used can not be > > > changed. > > > > > > > Yes. > > I did not advocate to be able to change MI versions at runtime. > > That would be overkill, i.e. it would be simpler to restart gdb > > then to try to code that complexity with little benifits, IMHO > > > > > Would this be OK for everyone? > > > > > > > That would be good, and the proposed format suits me fine > > mi-version="mi2",... > > > > Thanks Bob for looking at this. > > I've been very busy, so sorry about the delay. > > I'll look into what we discussed here and come up with something that > fits all the new needs. Does Jim care about any of this? Sorry about the delay. I plan on getting at least this patch into GDB. So, to recap, I neede to add a new mi-command that would output all of the info discovered during the handshaking phase. Is there anything else that needs to be added? Thanks, Bob Rossi