From: Daniel Jacobowitz <drow@false.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Andrew STUBBS <andrew.stubbs@st.com>, gdb@sourceware.org
Subject: Re: [RFC] plugin/extension interface
Date: Fri, 02 Dec 2005 19:23:00 -0000 [thread overview]
Message-ID: <20051202192316.GA13606@nevyn.them.org> (raw)
In-Reply-To: <uacfjbahx.fsf@gnu.org>
On Fri, Dec 02, 2005 at 08:48:58PM +0200, Eli Zaretskii wrote:
> > Date: Fri, 02 Dec 2005 18:22:54 +0000
> > From: Andrew STUBBS <andrew.stubbs@st.com>
> >
> > I would like to test the waters and find out what your opinion would be
> > on the subject of a GDB plugin/extension interface.
>
> Such suggestions (not only for GDB, for other GNU projects as well)
> are usually rejected by Richard Stallman and the FSF, because they
> make it possible to add to GDB significant new features with
> proprietary (i.e. non-free software) shared libraries, thus avoiding
> the need to release any parts of GDB under GPL.
I think we could discuss this with the FSF, if we had sufficiently
compelling reasons. But, I don't think that we do, right now.
Andrew, I can't support an interface like the one you've described.
GDB is a hugely complicated program, with many independent areas; it's
not clear to me which of those areas you're trying to make pluggable.
It looks to me like it is specifically the target interface - just a
very small piece of the pie. Also, new CLI commands.
If that's right, the traditional solution to the target interface is a
third party program which acts as a conversion tool between the GDB
remote protocol and your proprietary target protocol, with whatever
glue logic you would otherwise put into the plugin. The remote
protocol serves as the boundary interface in the same way that the DLL
boundary would serve as an interface.
If what you want can't be done that way because of shortcomings in
the protocol, we can fix them. This keeps the already-existing,
documented, and supported remote protocol as the extent of GDB's
obligation to remote targets. All the other bits you wanted to export
as methods have less clear semantics, and some of them are guaranteed
to change over time. GDB is burdened already with support for a huge
number of targets using the _one_ interface; I don't want to deal with
backwards compatibility.
For new CLI commands, the right answer is probably to implement them
in-core in some scripting language, and optionally pass things back to
your remote target via "monitor" commands. The existing scripting
language is inadequate. You can find preliminary (but usable) perl
bindings in the mailing list archive. I've hacked Guile into GDB in
the past, and when I can find some time, I intend to revisit the
general problem (probably using Python, this time, since I'm most
familiar with it at the moment). This requires some MI interface
surgery and is not a small task.
--
Daniel Jacobowitz
CodeSourcery, LLC
next prev parent reply other threads:[~2005-12-02 19:23 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 [this message]
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
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=20051202192316.GA13606@nevyn.them.org \
--to=drow@false.org \
--cc=andrew.stubbs@st.com \
--cc=eliz@gnu.org \
--cc=gdb@sourceware.org \
/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