Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@mvista.com>
To: Kip Macy <kmacy@fsmware.com>
Cc: Kevin Buettner <kevinb@redhat.com>, gdb@sources.redhat.com
Subject: Re: gdb + perl
Date: Wed, 04 Feb 2004 04:13:00 -0000	[thread overview]
Message-ID: <20040204041339.GA14314@nevyn.them.org> (raw)
In-Reply-To: <20040203192253.D36518@demos.bsdclusters.com>

Throwing in my two cents.

On Tue, Feb 03, 2004 at 07:30:59PM -0800, Kip Macy wrote:
> I happen to really *not like* perl. However, this is targeted at the
> developers at my company who predominantly do like perl.  I don't know
> what would be the ideal language. I've actually started ocaml support.
> As far as mainstream scripting languages go, I would've chosen python.
> I've structured the such that the only real work is writing a parser
> for MI output in the target language. I export the MI functionality and
> callback mechanism through a language independent interface.

Great...

> I would add support for guile if doing so would get the FFI code
> incorporated into mainline GDB.

Greater....

> > I haven't looked at your work at all yet.  Do you think it would be
> > possible to develop an extension language API that could be used by
> > perl as well as other extension languages?
> 
> That wouldn't be a giant leap.

And really awesome.  Kip, have you / could you file the copyright
assignment paperwork for GDB?  That's a necessary first step to
including any code.

> > That way, it'd be possible
> > to do extension language plugins, of which your work would be one.
> > It'd also be possible (and easier) to maintain the code you've written
> > independent of mainline GDB.
> 
> On a more general note I'd like to see loadable module support added to
> GDB. This would allow people to maintain GDB extensions independently of
> GDB. There are a number of things that I see adding to GDB that are only
> interesting if you have a very large complex system and hence would
> never be interesting for the majority of GDB users.

We've talked about this before.  There are a couple of problems; the
biggest is that the only advantage of a loadable plugin over a source
patch is if you think you can use it to play games with the GPL.  The
biggest disadvantages of plugins are that you have to develop an API
that lets the plugins do what they want to do.  GDB really isn't laid
out that way.

Now, if you happen to have a brilliant idea on how to make it work...
:)

The most frequent need for "plugins" that I encounter is custom module
loaders; the Linux kernel's, XFree86's, et cetera.  This could be done
with a sufficiently well-integrated scripting language, and that's
a safer and simpler way to do it.

I took a look at your documentation, but not your code.  Basically, it
looks like you are creating a Perl binding to the MI interface - right?

In recent versions of GDB (6.0, but not 5.3), there is a console
command "interpreter-exec" that can be used to have a little dialog
with with another interpreter; either the MI or console interpreters. 
That may simplify your changes.  It would be really neat if you could
expose MI directly and then implement the rest on the Perl side as
functions which issue and parse MI; then you wouldn't need to add to
each binding when new MI commands are added.  That may be what you do
already for all I know :)

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


  reply	other threads:[~2004-02-04  4:13 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-31  0:05 Kip Macy
2004-01-31  3:42 ` Kip Macy
2004-02-03 21:06   ` Kevin Buettner
2004-02-04  3:31     ` Kip Macy
2004-02-04  4:13       ` Daniel Jacobowitz [this message]
2004-02-04  5:44         ` Kip Macy
2004-02-04  6:01           ` Eli Zaretskii
2004-02-04 17:00 ` Andrew Cagney
2004-02-04 17:36   ` Kip Macy
2004-02-04 17:48   ` 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=20040204041339.GA14314@nevyn.them.org \
    --to=drow@mvista.com \
    --cc=gdb@sources.redhat.com \
    --cc=kevinb@redhat.com \
    --cc=kmacy@fsmware.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