public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Phil Muldoon <pmuldoon@redhat.com>
To: Pedro Alves <palves@redhat.com>,
	"Jose E. Marchesi" <jemarch@gnu.org>,
	       gdb <gdb@sourceware.org>
Subject: Re: C injection GDB project
Date: Wed, 11 Feb 2015 12:13:00 -0000	[thread overview]
Message-ID: <54DB4767.4060006@redhat.com> (raw)
In-Reply-To: <54DB37D0.1010108@redhat.com>

On 11/02/15 11:06, Pedro Alves wrote:
> On 02/11/2015 11:02 AM, Jose E. Marchesi wrote:
>>
>>  I would like to work in the C injection GDB project.

Hi

I CC'd the GDB mailing list and trimmed some of the post. I hope you
do not mind. Pedro asked me to reply to you on this interest.

You've picked an excellent time to show interest! Phase one is
complete and we are just about starting phase two. What is phase two?
C++!

The current status of the project is that the C parts of the injection
process have been checked into both GCC and GDB. The GCC parts will be
released in GCC 5. The GDB parts in the next GDB release.

A brief overview of the mechanics and methods of the project can be
found here:

https://sourceware.org/gdb/wiki/GCCCompileAndExecute#preview

There is also a talk given in the 2014 GNU Cauldron. You can find it
here:

https://www.youtube.com/watch?v=YQATnypexbY

All discussion related to the project should be on gdb@sourceware.org
and all patches to gdb-patches@sourceware.org

For historical review, the GDB parts of the project can be found here:

https://github.com/tromey/gdb/commits/gdbjit/gd

And the GCC bits here:

https://github.com/tromey/gcc/tree/submit/compile

Note both of those branches are now defunct. All the code contained in
them is checked in to the relevant upstream projects. I provide them
purely for archaeological purposes.

The people who work mostly on this project are: me, Jan Kratochvil
<jan.kratochvil@redhat.com> and Tom Tromey. Tom previously lead the
effort, but has now moved on to other fun stuff. There have been many
others who contributed in one way or another, not least of all
the reviewers. Alas, they are too numerous to list here.

A TODO (in summary):

- Write the C++ plug-in for GCC. Re-architect and reuse the C plug-in
  code wherever possible.

- Teach GDB to tell GCC about C++ types.

Those two will take a lot of time. We have not started yet.

Eventually we want to provide:

- compile print
- compile printf
- compile cond (or some other interface for conditional breakpoints)
- Maybe a fix-and-continue interface
- Maybe intelligently design a way GDB can use GCC for parsing
  expressions in some case.

Beyond C++ we have no plans for other languages, but will happily and
gladly support those authors who wish to add one.

Let me know how I can help you.

Cheers

Phil

       reply	other threads:[~2015-02-11 12:13 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <877fvopv7x.fsf@gnu.org>
     [not found] ` <54DB37D0.1010108@redhat.com>
2015-02-11 12:13   ` Phil Muldoon [this message]
2015-02-11 13:53     ` Pedro Alves
     [not found]     ` <94F6E835-DD06-4956-BFDF-6B0503CDAE64@gmail.com>
2015-02-11 14:42       ` Phil Muldoon

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=54DB4767.4060006@redhat.com \
    --to=pmuldoon@redhat.com \
    --cc=gdb@sourceware.org \
    --cc=jemarch@gnu.org \
    --cc=palves@redhat.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).