Re: probing GDB for MI versions

'Bob Rossi'
2004-10-16T15:46:14Z

> > I don't want a reasonably well working verion, I want a version that
> > it tested in the testsuite.
>
> Then you must make sure your front end supports the latest stable
> version, and only that version, and this whole discussion is mostly
> irrelevant, because just printing the latest stable version is all you
> need (if the front end doesn't support that version, it should refuse
> to work). See below.

OK, here's where I think you and I are not on the same level. This is
the fundamental problem in our discussion and why we can not agree on a
solution. Please correct me if I'm wrong here.

You think that GDB does and will only test one version of the MI
protocol. If this is true, then I would be happy to implement your
solution of printing the latest stable version and starting that version
with -i=mi. This conversation could be over with :)

However, as far as I understand it, this is not true. GDB has, and in
the future could be shipped with several versions of the MI protocol
being tested. Here is the question and answer I got from Andrew,

* Will GDB support more than one stable MI protocols for an official release?
In the past GDB tested both mi1 and mi2 so that that stage they were
probably described as "supported". Now that only mi2 is tested, nad mi1 is
deprecated, your call.

With this in mind, I do not think it is OK to print the latest stable
version only. It does not tell the front end what other versions could
be stable. In order for a front end to determine the protocol to use, it
needs a list of all the tested MI protocols. After that, selecting the
appropriate protocol seems like a nice thing to allow front ends to do,
thus not having to restart GDB. This seems like a natural extension to
the MI protocol and IMHO should have been around from the start.

If there indeed is more than one tested version of the MI protocol,
would you agree to me implementing the handshaking protocol? or are you
against that either way?

> > This solution is lacking. It only tells the front end the latest
> > stable version of the MI protocol. The front end can only guess what
> > other stable versions are available and I consider this unacceptable.
>
> According to what Andrew said, and since you don't want to use
> untested old versions, the latest stable version is all you need.

I posted the Q/A above that makes me think that what you are saying here
is not correct. However, please do correct me if I'm wrong.

Thanks for your time,
Bob Rossi