From: Mark Kettenis <mark.kettenis@xs4all.nl>
To: jimb@red-bean.com
Cc: gdb@sourceware.org
Subject: Re: [RFC] plugin/extension interface
Date: Fri, 02 Dec 2005 22:41:00 -0000 [thread overview]
Message-ID: <200512022241.jB2Mf3Fk024314@elgar.sibelius.xs4all.nl> (raw)
In-Reply-To: <8f2776cb0512021412n17d2a8b2rf8cb4a48daa9449e@mail.gmail.com> (message from Jim Blandy on Fri, 2 Dec 2005 14:12:46 -0800)
> Date: Fri, 2 Dec 2005 14:12:46 -0800
> From: Jim Blandy <jimb@red-bean.com>
> I'm not so hostile to plug-in interfaces. It's true that the API
> needs to be designed carefully, but allowing people to maintain other
> features (targets; architectures; commands) separately from GDB would
> take a big load off our backs.
I really doubt that. Short term it'd only increase the load since we
have to build the plug-in interface. Long term, we still have to
maintain that interface. We'll also get lots of support questions
where the problems are really with the third party plugins, but where
the bug reporter conveniently forgets to mention that he's using a
third party plugin. Let's keep people out of our address space if
they don't want to commit themselves to providing sources and manpower
to maintain those sources.
> libthread_db has been a debacle, but I'd argue that's because it was
> designed for Solaris, and we lacked the option of adjusting the
> interface to better suit other systems. For example, the API doesn't
> abstract the process of stopping or continuing threads, meaning that
> it doesn't have the information it needs to cache things accurately in
> some cases (leading to bad performance) and that GDB pays the price in
> complexity of supporting the plugin interface, but ends up knowing a
> lot about the thread implementation anyway, so it doesn't get much
> benefit.
Never really realised it, but actually all that we use libthread_db
for is mapping process IDs into use-level thread IDs. Suddenly HP's
ttrace(2) interface makes sense to me; they have a field to store the
user-level thread ID in the kernel. That way you really don't need
any knwoledge about the threads implementation at all, except that
there's a 1:1 mapping between LWPs and user-level threads.
What I meant by the libthread_db debacle is the fact that gdb picks up
the wrong version of it sometimes and that this makes things fail in
nonobvious ways. Not the fact that trying to support several
different kernels and threads libraries, most of which have serious
bugs, is really erh... difficult.
Mark
next prev parent reply other threads:[~2005-12-02 22:41 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-02 18:25 Andrew STUBBS
2005-12-02 18:49 ` Eli Zaretskii
2005-12-02 19:23 ` Daniel Jacobowitz
2005-12-02 19:36 ` Mark Kettenis
2005-12-02 22:12 ` Jim Blandy
2005-12-02 22:16 ` Daniel Jacobowitz
2005-12-02 22:41 ` Mark Kettenis [this message]
2005-12-02 23:07 ` Jim Blandy
2005-12-02 23:13 ` Bob Rossi
2005-12-02 23:32 ` Daniel Jacobowitz
2005-12-03 0:57 ` Jim Blandy
2005-12-03 2:32 ` Daniel Jacobowitz
2005-12-03 2:41 ` Bob Rossi
2005-12-03 2:41 ` Russell Shaw
2005-12-03 2:45 ` Daniel Jacobowitz
2005-12-03 3:13 ` Russell Shaw
2005-12-03 3:33 ` Daniel Jacobowitz
2005-12-03 4:05 ` Russell Shaw
2005-12-03 4:14 ` Daniel Jacobowitz
2005-12-03 4:44 ` Russell Shaw
2005-12-03 4:49 ` Daniel Jacobowitz
2005-12-03 5:25 ` Russell Shaw
2005-12-03 12:49 ` [commit] Clarify "monitor" command (was: [RFC] plugin/extension interface) Eli Zaretskii
2005-12-03 12:51 ` [commit] Clarify "monitor" command Russell Shaw
2005-12-03 16:08 ` [commit] Clarify "monitor" command (was: [RFC] plugin/extension interface) Daniel Jacobowitz
2005-12-03 5:06 ` [RFC] plugin/extension interface Russell Shaw
2005-12-03 5:12 ` Daniel Jacobowitz
2005-12-03 9:29 ` Eli Zaretskii
2005-12-03 9:50 ` Russell Shaw
2005-12-03 9:57 ` Eli Zaretskii
2005-12-05 16:17 ` Andrew STUBBS
2005-12-05 16:34 ` Bob Rossi
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=200512022241.jB2Mf3Fk024314@elgar.sibelius.xs4all.nl \
--to=mark.kettenis@xs4all.nl \
--cc=gdb@sourceware.org \
--cc=jimb@red-bean.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