From: "Alain Magloire" <alain@qnx.com>
To: bob@brasko.net ('Bob Rossi')
Cc: dk@artimi.com (Dave Korn), eliz@gnu.org ('Eli Zaretskii'),
gdb@sources.redhat.com
Subject: Re: probing GDB for MI versions
Date: Wed, 06 Oct 2004 17:05:00 -0000 [thread overview]
Message-ID: <200410061703.NAA29043@smtp.ott.qnx.com> (raw)
In-Reply-To: <20041006162225.GA12213@white> from "'Bob Rossi'" at Oct 06, 2004 12:22:25 PM
>
> On Wed, Oct 06, 2004 at 12:50:34PM +0100, Dave Korn wrote:
> > > -----Original Message-----
> > > From: gdb-owner On Behalf Of Bob Rossi
> > > Sent: 06 October 2004 12:39
> >
> > > Unfortunately this topic is on two different threads. I feel
> > > badly that I
> > > am wasting your time here with bad descriptions of the
> > > "catch-22". This
> > > is to help make my opinion clear on why it is a "catch-22" and not
> > > possible.
> > >
> > > The front end has parsers for different versions of GDB's
> > > MI protocol.
> > > The parser for MI2 may not work for the MI3 protocol.
> > > The parser for the MI3 protocol may not work for the MI2 protocol.
> > > The front end *can not* start up GDB just by using -interpreter=mi
> > > because it doesn't know what parser to use in this situation.
> > > Can we agree on this point for starters?
> >
> > No, we can't. As long as the output from the -mi-version MI command stays
> > in the same format, you can always parse that and determine which version to
> > use.
>
> Dave, you do not understand the problem at all. I do not appreciate your
> defininative answer, especially since it is incorrect.
>
> The actual MI output syntax is capable of changing between MI versions.
> If the MI4 output syntax (grammar) has an incompatible change with MI3,
> then
> * the MI3 parser will not even be capable of parsing and building a
> parse tree for the MI4 protocol.
> * the MI4 parser will not even be capable of parsing and building a
> parse tree for the MI3 protocol.
>
> It is not possible to understand the output of the command no matter how
> simple it is. If there is no parse tree, then there is no way to
> understand the output from GDB.
>
> > Everything else can change. You can start up with an utterly minimal,
> > unintelligent parser, that knows nothing except how to send a -mi-version
> > command and parse the output; that parser can then direct one of your
> > version-dependent parsers to take over.
>
> I don't understand the concept of an "utterly minimal unintelligent parser".
> That is rediculous. I am generating a parser from the grammar.
>
> There absolutly needs to be a way for the front end to ask GDB what
> versions of the MI protocol it supports.
>
> There is no way the front end can ask GDB what protocols it supports if
> it needs to talk to it with an MI protocol. Understood?
>
I'm not sure on your rationnale to reject Dave's proposition. It seems
to me it is a perfectly valid alternative for a front-end to probe
gdb and do an educated guess on what the better version of MI it
can support.
gdb --interpreter=mi executable
(gdb) 1-mi-level
1^done,value="1"
The front-end loads MI Parser level 1 and continue exchange with gdb.
The other approach that was suggested, seems also interresting;
asking gdb on the command line for the list of protocols.
This first pass probing will allow the front-end to make a good choice
also.
The first idea to keep on probing gdb :
$ gdb -i mi5 executable
Interpreter `mi45' unrecognized
# try a nother
$ gdb -i mi4 executable
Interpreter `mi4' unrecognized
$ gdb -i mi2 executable
Bingo !!!
seems cumbersone but should work.
The problem that I did not see you mention in any previous thread, is
when there is a bug fix !! for example:
-thread-list-ids, keep on crashing, the next version of gdb fixes
the problem, how will a front-end knows to not use "info threads" but
can now use "-thread-list-ids". Andrew's answer to this was to look
at the gdb version and make an educated guess, but we know the problem
with this, many distrubution have mangle gdb --version
(Just came back from a 2 weeks break, so I may have missed some context).
next prev parent reply other threads:[~2004-10-06 17:04 UTC|newest]
Thread overview: 211+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-03 17:15 Bob Rossi
2004-10-04 9:00 ` Eli Zaretskii
2004-10-04 13:19 ` Bob Rossi
2004-10-05 9:10 ` Eli Zaretskii
2004-10-05 12:34 ` Bob Rossi
2004-10-06 10:19 ` Eli Zaretskii
2004-10-06 11:47 ` Bob Rossi
2004-10-06 12:13 ` Dave Korn
2004-10-06 16:31 ` 'Bob Rossi'
2004-10-06 16:46 ` Nathan J. Williams
2004-10-06 16:55 ` 'Bob Rossi'
2004-10-06 17:04 ` Nathan J. Williams
2004-10-06 17:15 ` 'Bob Rossi'
2004-10-06 16:57 ` Dave Korn
2004-10-06 17:12 ` 'Bob Rossi'
2004-10-06 17:21 ` Dave Korn
2004-10-06 17:24 ` 'Bob Rossi'
2004-10-06 17:31 ` Daniel Jacobowitz
2004-10-06 17:38 ` Bob Rossi
2004-10-06 17:41 ` Dave Korn
2004-10-06 17:55 ` 'Bob Rossi'
2004-10-06 18:19 ` Paul Koning
2004-10-07 10:56 ` Dave Korn
2004-10-07 14:15 ` 'Bob Rossi'
2004-10-07 14:28 ` Dave Korn
2004-10-07 14:37 ` 'Bob Rossi'
2004-10-07 14:39 ` Dave Korn
2004-10-07 14:50 ` 'Bob Rossi'
2004-10-07 15:38 ` Dave Korn
2004-10-07 15:49 ` 'Bob Rossi'
2004-10-07 16:31 ` Nathan J. Williams
2004-10-07 16:45 ` Alain Magloire
2004-10-07 17:12 ` Dave Korn
[not found] ` <200410071614.MAA19648@smtp.ott.qnx.com>
2004-10-08 6:56 ` 'Bob Rossi'
2004-10-08 9:10 ` Eli Zaretskii
2004-10-10 18:13 ` 'Bob Rossi'
2004-10-11 17:46 ` 'Bob Rossi'
2004-10-13 12:14 ` 'Bob Rossi'
2004-10-13 12:48 ` Eli Zaretskii
2004-10-13 14:05 ` 'Bob Rossi'
2004-10-14 7:10 ` Eli Zaretskii
2004-10-14 19:34 ` 'Bob Rossi'
2004-10-14 21:23 ` Andrew Cagney
2004-10-15 15:40 ` 'Bob Rossi'
2004-10-15 13:02 ` Eli Zaretskii
2004-10-15 13:28 ` Michael Chastain
2004-10-15 13:42 ` Eli Zaretskii
2004-10-15 18:04 ` 'Bob Rossi'
2004-10-16 15:46 ` Eli Zaretskii
2004-10-16 21:56 ` 'Bob Rossi'
2004-10-17 18:59 ` Eli Zaretskii
2004-10-19 13:51 ` 'Bob Rossi'
2004-10-19 14:18 ` Daniel Jacobowitz
2004-10-19 19:28 ` Bob Rossi
2004-10-19 20:17 ` Eli Zaretskii
2004-10-06 18:43 ` Andrew Cagney
2004-10-06 18:54 ` 'Bob Rossi'
2004-10-06 19:19 ` Andrew Cagney
2004-10-06 19:25 ` 'Bob Rossi'
2004-10-06 17:36 ` Dave Korn
2004-10-06 17:51 ` Paul Koning
2004-10-06 18:09 ` Bob Rossi
2004-10-06 17:05 ` Alain Magloire [this message]
2004-10-06 19:16 ` Andrew Cagney
2004-10-06 19:20 ` Bob Rossi
2004-10-06 20:10 ` Alain Magloire
2004-10-06 20:15 ` Bob Rossi
2004-10-06 20:13 ` Andrew Cagney
2004-10-08 10:28 ` Eli Zaretskii
2004-10-08 18:48 ` Daniel Jacobowitz
-- strict thread matches above, loose matches on Subject: below --
2005-10-10 20:46 Laziness David Lecomber
2005-10-10 20:50 ` Laziness Daniel Jacobowitz
2005-10-10 21:05 ` Laziness David Lecomber
2005-10-10 21:09 ` Laziness Daniel Jacobowitz
2005-10-10 21:24 ` Laziness David Lecomber
2005-10-10 21:27 ` Laziness Daniel Jacobowitz
2005-10-10 23:53 ` Laziness Paul Hilfinger
[not found] <200508292030.NAA29909@hpsje.cup.hp.com>
[not found] ` <1125360166.9350.69.camel@aretha.corp.specifix.com>
2005-08-30 1:13 ` HP gdb/wdb sources available Daniel Jacobowitz
2005-08-30 2:13 ` Paul Hilfinger
2004-10-26 14:49 backtrace changes current source location Felix Lee
2004-10-28 13:49 ` Daniel Jacobowitz
2004-10-06 1:03 Bumping MI protocol Bob Rossi
2004-10-06 5:08 ` Nathan J. Williams
2004-10-06 11:27 ` Bob Rossi
2004-10-06 12:30 ` Eli Zaretskii
2004-10-06 16:38 ` Bob Rossi
2004-10-06 16:45 ` Nathan J. Williams
2004-10-06 19:53 ` Bob Rossi
[not found] ` <eliz@gnu.org>
2004-10-06 16:57 ` Felix Lee
2004-10-06 17:03 ` Bob Rossi
2004-10-04 17:51 gdbserver, sysroot, prelink Felix Lee
2004-10-04 18:12 ` Daniel Jacobowitz
[not found] <5956F1E2-EB0D-11D8-9949-000A9569836A@apple.com>
2004-08-11 0:51 ` GDB/XMI (XML Machine Interface) Chris Friesen
[not found] ` <gdb001@speakeasy.net>
2004-08-11 6:28 ` Felix Lee
2004-08-11 8:25 ` Chris Friesen
2004-08-11 22:43 ` Felix Lee
2004-08-12 4:54 ` OT: " Chris Friesen
2004-08-20 10:34 ` Felix Lee
2004-08-20 12:54 ` Bob Rossi
2004-08-20 18:34 ` Daniel Jacobowitz
2004-08-20 18:49 ` Bob Rossi
2004-08-20 18:52 ` Daniel Jacobowitz
2004-08-20 19:25 ` Bob Rossi
2004-08-20 19:42 ` Daniel Jacobowitz
2004-08-20 19:59 ` Bob Rossi
2004-08-21 10:25 ` Eli Zaretskii
2004-08-21 12:34 ` Bob Rossi
2004-08-21 13:34 ` Eli Zaretskii
[not found] ` <bob@brasko.net>
2004-08-20 18:20 ` Felix Lee
2004-08-20 21:34 ` Felix Lee
2004-08-21 19:21 ` Felix Lee
2004-08-21 20:21 ` Bob Rossi
2004-08-21 19:28 ` Felix Lee
2004-08-21 20:16 ` Bob Rossi
2004-08-21 21:28 ` Felix Lee
2004-08-21 22:37 ` Felix Lee
2004-10-03 18:36 ` GDB/MI snapshots between major release's Felix Lee
2004-10-03 18:40 ` Bob Rossi
2004-10-03 18:42 ` Daniel Jacobowitz
2004-10-03 19:35 ` Bob Rossi
2004-10-03 19:39 ` Felix Lee
2004-10-03 20:19 ` Bob Rossi
2004-10-04 5:00 ` Felix Lee
2004-10-04 15:34 ` Felix Lee
2004-10-04 15:58 ` Bob Rossi
2004-10-04 16:48 ` Felix Lee
2004-10-04 17:37 ` Bob Rossi
2004-10-04 18:31 ` Felix Lee
2004-10-04 19:00 ` Bob Rossi
2004-10-04 21:07 ` Felix Lee
2004-10-03 17:01 ` Bob Rossi
2004-10-04 5:04 ` Eli Zaretskii
2004-10-04 14:59 ` Bob Rossi
2004-10-04 15:49 ` Mark Kettenis
2004-10-04 16:04 ` Bob Rossi
2004-10-05 10:57 ` Eli Zaretskii
2004-10-05 14:18 ` Daniel Jacobowitz
2004-10-06 1:40 ` Bob Rossi
2004-10-06 11:14 ` Eli Zaretskii
2004-10-06 11:39 ` Bob Rossi
2004-10-06 13:19 ` Eli Zaretskii
2004-10-06 16:55 ` Bob Rossi
2004-10-06 17:00 ` Paul Koning
2004-10-06 17:02 ` Bob Rossi
2004-10-04 21:27 ` Daniel Jacobowitz
2004-10-04 22:14 ` Bob Rossi
2004-10-05 9:03 ` Fabian Cenedese
2004-10-05 9:18 ` Eli Zaretskii
2004-10-05 13:37 ` Bob Rossi
2004-10-05 18:53 ` probing GDB for MI versions Felix Lee
2004-10-06 17:14 ` GDB/MI snapshots between major release's Felix Lee
2004-10-06 17:21 ` Daniel Jacobowitz
2004-10-06 18:41 ` Felix Lee
2004-10-06 18:50 ` Bob Rossi
2004-10-06 18:55 ` Bumping MI protocol Felix Lee
2004-10-06 19:43 ` Bob Rossi
2004-10-06 21:04 ` Felix Lee
2004-10-07 18:01 ` probing GDB for MI versions Felix Lee
2004-10-07 19:44 ` Bob Rossi
2004-10-08 8:54 ` Fabian Cenedese
2004-10-19 20:13 ` Felix Lee
2004-10-19 20:23 ` Eli Zaretskii
2004-10-19 21:27 ` Bob Rossi
2004-11-09 2:27 ` Bob Rossi
2004-08-10 20:14 GDB/XMI (XML Machine Interface) Bob Rossi
2004-08-10 22:38 ` Kip Macy
2004-08-11 0:17 ` Michael Chastain
2004-08-11 7:36 ` Fabian Cenedese
2004-08-11 8:51 ` Nick NoSpam
2004-08-11 18:05 ` Bob Rossi
2004-08-11 19:26 ` Alain Magloire
2004-08-11 22:35 ` Jason Molenda
2004-08-12 13:03 ` Nick NoSpam
2004-08-19 23:49 ` Bob Rossi
2004-08-20 7:09 ` Chris Friesen
2004-08-20 12:47 ` Bob Rossi
2004-07-29 5:10 breaking at for-loop test line Allen Hopkins
2004-07-29 16:29 ` Daniel Jacobowitz
2004-07-29 18:58 ` Andre Ancelin
2004-07-30 11:32 ` Eli Zaretskii
2004-08-03 19:21 ` Daniel Jacobowitz
2004-08-03 20:09 ` Andrew Cagney
2004-08-03 20:21 ` Daniel Jacobowitz
2004-07-25 1:18 [proposal/testsuite] require build == host Michael Chastain
2004-07-25 1:52 ` Felix Lee
2004-07-25 2:43 ` Daniel Jacobowitz
[not found] ` <drow@false.org>
2004-07-25 22:36 ` Felix Lee
2004-07-26 18:07 ` Michael Chastain
2004-07-27 4:41 ` Felix Lee
2004-07-29 22:21 ` breaking at for-loop test line Felix Lee
2004-07-30 8:23 ` Baurjan Ismagulov
[not found] ` <ibr@ata.cs.hun.edu.tr>
2004-07-30 10:46 ` Felix Lee
2004-08-03 18:53 ` Daniel Jacobowitz
2004-08-20 19:06 ` GDB/XMI (XML Machine Interface) Felix Lee
2004-08-20 19:09 ` Daniel Jacobowitz
2004-08-20 19:20 ` Felix Lee
2004-08-21 12:37 ` Bob Rossi
2004-10-04 19:05 ` gdbserver, sysroot, prelink Felix Lee
2004-10-04 19:24 ` Daniel Jacobowitz
2004-10-05 13:03 ` Andrew Cagney
2004-10-05 13:52 ` Daniel Jacobowitz
2004-10-05 13:53 ` Felix Lee
2004-10-06 17:58 ` GDB/MI snapshots between major release's Felix Lee
2004-10-29 8:32 ` backtrace changes current source location Felix Lee
2004-07-25 7:59 ` [proposal/testsuite] require build == host Eli Zaretskii
2004-07-27 0:45 ` Andrew Cagney
2004-07-27 2:31 ` Michael Chastain
2004-07-27 4:16 ` Eli Zaretskii
2004-07-27 15:32 ` Andrew Cagney
2004-07-27 15:50 ` Christopher Faylor
2004-07-27 21:17 ` Michael Chastain
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=200410061703.NAA29043@smtp.ott.qnx.com \
--to=alain@qnx.com \
--cc=bob@brasko.net \
--cc=dk@artimi.com \
--cc=eliz@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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).