Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Bob Rossi <bob@brasko.net>
To: Andrew Cagney <cagney@gnu.org>
Cc: gdb@sources.redhat.com
Subject: Re: MI changes
Date: Sat, 25 Sep 2004 00:44:00 -0000	[thread overview]
Message-ID: <20040925004418.GA3379@white> (raw)
In-Reply-To: <4154A265.6090607@gnu.org>

On Fri, Sep 24, 2004 at 06:40:37PM -0400, Andrew Cagney wrote:
> >Hi,
> >
> >Could I please have a response to this topic? I am being held up on the
> >development of my project while waiting for this decision.
> 
> I think others have already responded to this proposal with a clear 
> rationale for not making a change.  We've already got numeric prefixes 
> which are returned with the command result.  Asynchronous output has to 
> be self contained.

Yes, I understand that numeric prefixes take account for the synchronous
commands. However, what does the sentence "Asynchronous output has to be
self contained" mean? I still think that the problem exists for
asynchronous commands, and this is one of the reasons I brought the
problem up.

The big issue here that everyone seems to be avoiding is how we should
deal with versioning of the MI commands. You yourself stated that GDB/MI
should move to a versioning scheme where it is capable of working with
front ends that are not tied to a particular version of GDB. It should
also work with "snapshots" of GDB. This means that GDB should be self
documenting at any given point about what type of MI output and MI input
commands it receives/sends. Not just one big MI level.

My recommendation to add the label's was a way for GDB to tell the front
end what version of an MI output command it is sending. We could then 
add a new MI output command to GDB that tells the front end all of the 
capable MI output commands that the current version of the GDB your 
dealing with supports. The same could be true for MI input commands. 

Honestly, I don't think the current MI interface supports front ends
that will work with multiple versions of GDB and I am trying to change
that. I don't want to start hacking on CGDB until I know that it will
work reasonably in several different environments, with several
different version of GDB.

If my solution isn't good, can we come up with some other suggestions?

> >I propose several changes to MI.
> >
> >   1. Every MI output command is prefixed with a label saying what type
> >   of command it is. This is easy for synchronous commands. We will have
> >   to make a list of asynchronous MI output commands that can be
> >   documented some where.
> >
> >      benefit: the front end knows how to deal with the data it was
> >      given in all circumstances
> >
> >   2. Because of this new label, all MI output commands of it's type
> >   will be backwards compatible. Only adding fields and such things are
> >   allowed. If it is necessary to change the command, a new MI command
> >   and label will be put in it's place.
> >
> >      benefit: front ends will be very reliable because they will work
> >      with new and old GDB's. They will also work with snapshot of GDB
> >      instead of only major releases.
> >
> >BTW, this Email does not address MI input commands in any way. This will
> >be the next step on my list.
> >
> >Thanks,
> >Bob Rossi
> >


      reply	other threads:[~2004-09-25  0:44 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-23 12:33 Bob Rossi
2004-09-24 22:43 ` Andrew Cagney
2004-09-25  0:44   ` Bob Rossi [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040925004418.GA3379@white \
    --to=bob@brasko.net \
    --cc=cagney@gnu.org \
    --cc=gdb@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox