This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: C injection GDB project
- From: Phil Muldoon <pmuldoon at redhat dot com>
- To: Pedro Alves <palves at redhat dot com>, "Jose E. Marchesi" <jemarch at gnu dot org>, gdb <gdb at sourceware dot org>
- Date: Wed, 11 Feb 2015 12:13:27 +0000
- Subject: Re: C injection GDB project
- Authentication-results: sourceware.org; auth=none
- References: <877fvopv7x dot fsf at gnu dot org> <54DB37D0 dot 1010108 at redhat dot 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