From: Tom Tromey <tromey@redhat.com>
To: marcov@stack.nl (Marco van de Voort)
Cc: gdb@sourceware.org
Subject: Re: errors in GDB reading symbols
Date: Tue, 11 Aug 2009 21:00:00 -0000 [thread overview]
Message-ID: <m33a7yukvo.fsf@fleche.redhat.com> (raw)
In-Reply-To: <20090807204753.8BC8C33CA1@turtle.stack.nl> (Marco van de Voort's message of "Fri\, 7 Aug 2009 22\:47\:53 +0200 \(CEST\)")
Marco> Partially the earlier own debugger discussion is fueled by one of
Marco> the improvements of FPC's internal linker relative to LD, the
Marco> experience that makes the call for an own debugger so vocal. It
Marco> knocks off tens of seconds in the compile-start-with-debug cycle,
Marco> and makes GDB the next bottleneck (this is for Lazarus, not the
Marco> textmode IDE)
FWIW, I'm definitely interested in speed problems in GDB. If you find
them, and can characterize them nicely, please file bug reports.
Marco> Forcing the MI interface would effectively kill the textmode IDE, it is
Marco> effectively in maintenance for years. If there is something to be done on
Marco> the GDB side, I'd prefer investing time in libgdb. What are the problems
Marco> with it? Does something need updating, etc?
I think that historically libgdb is just an idea that never really got
beyond the "put a lot of .o files into libgdb.a" stage.
When I look at GDB, I think there are a few things that make it a less
than great library:
* No use of namespaces for functions and globals
* ABI changes every release
* Unfriendly "embedding" behavior: takes over signals, requires
application discipline about calling wait(), etc.
I guess those are the big ones. If they don't bother you, cool.
Marco> I don't see the point of the MI interface at all btw. What is the idea
Marco> behind it? And why does it need to be one size fits all to desperately?
I'm not really aware of the full history of MI, but one big advantage is
that lots of people use it and it is supported.
I suppose the basic idea is that a text-based protocol is more
future-proof than a binary ABI. (Of course this is not intrinsically
true, but it is made true because I don't think that restricting GDB to
be ABI-compatible is reasonable.)
I have two reasons I would want to remove libgdb. First, I think that
supporting gdb-as-a-library is too much work for not enough payoff.
(Though this reason is somewhat deflated if you don't mind the "anything
goes" approach.) Second, libgdb.a slows down the build, which is
pointless for something we don't support.
Tom
next prev parent reply other threads:[~2009-08-11 21:00 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-07 20:48 Marco van de Voort
2009-08-11 21:00 ` Tom Tromey [this message]
2009-08-12 0:56 ` Paul Pluzhnikov
2009-08-21 17:33 ` Tom Tromey
-- strict thread matches above, loose matches on Subject: below --
2009-08-01 21:38 kceiwH
2009-08-02 23:45 ` kceiwH
2009-08-03 16:53 ` Tom Tromey
2009-08-03 17:01 ` Daniel Jacobowitz
2009-08-03 20:47 ` Baurzhan Ismagulov
2009-08-04 14:33 ` Tom Tromey
2009-08-04 14:46 ` Daniel Jacobowitz
2009-08-04 14:47 ` Daniel Jacobowitz
2009-08-04 14:52 ` Jonas Maebe
2009-08-04 14:55 ` Daniel Jacobowitz
2009-08-06 17:09 ` Tom Tromey
2009-08-06 21:00 ` Jonas Maebe
2009-08-07 16:24 ` Daniel Jacobowitz
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=m33a7yukvo.fsf@fleche.redhat.com \
--to=tromey@redhat.com \
--cc=gdb@sourceware.org \
--cc=marcov@stack.nl \
/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