From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15626 invoked by alias); 5 Jun 2006 20:49:55 -0000 Received: (qmail 15614 invoked by uid 22791); 5 Jun 2006 20:49:54 -0000 X-Spam-Check-By: sourceware.org Received: from eastrmmtao03.cox.net (HELO eastrmmtao03.cox.net) (68.230.240.36) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 05 Jun 2006 20:49:52 +0000 Received: from localhost.localdomain ([68.9.66.48]) by eastrmmtao03.cox.net (InterMail vM.6.01.06.01 201-2131-130-101-20060113) with ESMTP id <20060605204950.GOOC15797.eastrmmtao03.cox.net@localhost.localdomain> for ; Mon, 5 Jun 2006 16:49:50 -0400 Received: from bob by localhost.localdomain with local (Exim 4.60) (envelope-from ) id 1FnM1L-00030j-Lu for gdb-patches@sourceware.org; Mon, 05 Jun 2006 16:49:55 -0400 Date: Mon, 05 Jun 2006 20:49:00 -0000 From: Bob Rossi To: gdb-patches@sourceware.org Subject: Re: starting gdb/mi from FE Message-ID: <20060605204955.GC10045@brasko.net> References: <20060605134517.GA25925@brasko.net> <20060605195930.GA31015@nevyn.them.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060605195930.GA31015@nevyn.them.org> User-Agent: Mutt/1.5.11 X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-06/txt/msg00049.txt.bz2 On Mon, Jun 05, 2006 at 03:59:30PM -0400, Daniel Jacobowitz wrote: > On Mon, Jun 05, 2006 at 09:45:17AM -0400, Bob Rossi wrote: > > This will allow the FE to start GDB 1 time and to determine which > > version of the protocol GDB was compatible with. If you have multiple > > interpreter choices on the -i switch, then GDB will output the first > > line it writes as > > mi_protocol_version=miN > > where miN will be the version GDB is going to communicate with. > > > > This change is backwards compatible because users were not able in the > > past to have a comma separated list in the -i flag. > > > > How does this look? > > We've discussed this at least twice in the past, haven't we? How about > a pointer to those past conversations; did they reach a conclusion, or > not - and if they did, was it this one? Yes, we have. At least once encouraged by me. I think this time I have an elegant solution which is much simpler than solutions from the past. The key to simplicity is to realize that any front end knows a certain amount of MI protocols. It's goal is to sink with GDB using the highest command protocol. So, passing them all in and getting a response is the easiest way to go. In the past I implemented a solution where the FE would pass in -i=mi and GDB would respond with all the versions it supports and then would wait for a response from the front end giving GDB the version to choose. This solution also has a MI Handshaking description which front ends could implement. This patch was never reviewed, probably because it was overly complicated. This was the start of a very long thread http://sourceware.org/ml/gdb/2004-10/msg00027.html Bob Rossi