Re: [PATCH] Hooks still needed for annotations

Daniel Jacobowitz
2005-06-13T03:14:06Z

On Sat, Jun 04, 2005 at 09:02:28AM -0400, Bob Rossi wrote:
> On Fri, Jun 03, 2005 at 07:59:24PM -0400, Daniel Jacobowitz wrote:
> > They are deprecated. I believe there's a clear consensus that the
> > entire annotation system is going to go, and in the near future. Just
> > not yet.
>
> I hope that the annotations can stay until Nick and I, along with the
> Apple and Eclipse people think that the MI is stable and ready for use.

This bit has some logical sense on its own, but not in your examples.
Eclipse uses a hybrid GDB/CLI implementation - but not annotations (as
far as I know, anyway)! Apple uses a patched GDB with substantially
different MI behavior - but not annotations (again, AFAIK)!

Feel free to correct me if I'm wrong, but those are not compelling
examples of why yet another output format should stick around. The
fact that you and Nick are using them is a more compelling reason.

> Also, I think it's reasonable to say that GDB should have a parser that
> FE's can use. The only way to have a parser that can be tested properly
> is to allow it to be packaged and tested in GDB's testsuite. Otherwise,
> if the annotations are removed, FE's like GVD, XXGDB, DDD, KGDB, ...
> are either going to "go the way of the bison" or they are going to have
> to write code that handles GDB/MI. Do we really want 5-10 GDB/MI
> parser's out there (each with there own bugs)?

This is also unrelated to the removal of annotations.

I don't much think a parser is GDB's responsibility. Offering one as a
convenience, sure, maybe. Note that a lot of frontends won't get to
use it anyway! If we ship it with GDB, then it's going to be covered
under the GPL.

> > - Breakpoints changing is not an asynchronous event. Stopped is an
> > async event; breakpoint-deleted is a synchronous event, even if it
> > comes from the user typing in a console window.
>
> It fits much nicer into the asyncronous case that nick posted. If
> we want to make it syncronous then I think there would have to be a
> change to the MI protocol.
>
> output ==>
> ( out-of-band-record )* [ result-record ] [ status-update ] "(gdb)" nl

Maybe it will need a format change. But, guess what, it is still not
an asynchronous event. We don't have a comprehensive story in place
for this sort of response yet.

--
Daniel Jacobowitz
CodeSourcery, LLC