>>>>> "Tom" == Tom Tromey <tro...@redhat.com> writes:
Tom> This patch series is half of a project to let gdb reuse gcc (which Tom> half depends on which list you are seeing this on), so that users can Tom> compile small snippets of code and evaluate them in the current Tom> context of the inferior. Jeff noted that patch #5 didn't make it through. I've edited this one down by removing the auto-generated stuff , and then compressed it. If anybody wants to apply this to try it out, it's all on github. https://github.com/tromey/gcc https://github.com/tromey/gdb In each repository the branch named "submit/compile" holds the rebased series that were submitted. The development branches are both named "gdbjit". These are much messier but not ever rebased, so perhaps safer to track. Tom This patch adds the plugin to the gcc tree and updates the top-level configury. It seems better to have this code in the gcc tree than in the gdb tree, because it is bound more tightly to gcc. The gcc plugin makes direct calls into various parts of gcc to do its work; whereas on the gdb side everything is done via a relatively simple API, without any direct connection to gdb internals. This breakdown made the most sense because most calls are from gdb to gcc rather than vice versa. The plugin itself consists of two parts. These parts communicate via a simple ad hoc RPC system implemented in the plugin code. 2014-05-16 Phil Muldoon <pmuld...@redhat.com> Tom Tromey <tro...@redhat.com> * Makefile.def: Add libcc1 to host_modules. * configure.ac (host_tools): Add libcc1. * Makefile.in, configure: Rebuild. 2014-05-16 Phil Muldoon <pmuld...@redhat.com> Jan Kratochvil <jan.kratoch...@redhat.com> Tom Tromey <tro...@redhat.com> * aclocal.m4: New file. * callbacks.cc: New file. * callbacks.hh: New file. * cc1plugin-config.h.in: New file. * configure: New file. * configure.ac: New file. * connection.cc: New file. * connection.hh: New file. * libcc1.cc: New file. * libcc1plugin.sym: New file. * libcc1.sym: New file. * Makefile.am: New file. * Makefile.in: New file. * marshall.cc: New file. * marshall.hh: New file. * names.cc: New file. * names.hh: New file. * plugin.cc: New file. * rpc.hh: New file. * status.hh: New file. --- ChangeLog | 7 + Makefile.def | 5 + Makefile.in | 995 ++- configure | 2 +- configure.ac | 4 +- libcc1/ChangeLog | 24 + libcc1/Makefile.am | 42 + libcc1/Makefile.in | 614 ++ libcc1/aclocal.m4 | 980 +++ libcc1/callbacks.cc | 90 + libcc1/callbacks.hh | 64 + libcc1/cc1plugin-config.h.in | 92 + libcc1/configure | 16956 +++++++++++++++++++++++++++++++++++++++++ libcc1/configure.ac | 65 + libcc1/connection.cc | 153 + libcc1/connection.hh | 114 + libcc1/libcc1.cc | 454 ++ libcc1/libcc1.sym | 1 + libcc1/libcc1plugin.sym | 2 + libcc1/marshall.cc | 166 + libcc1/marshall.hh | 93 + libcc1/names.cc | 46 + libcc1/names.hh | 55 + libcc1/plugin.cc | 895 +++ libcc1/rpc.hh | 486 ++ libcc1/status.hh | 33 + 26 files changed, 22430 insertions(+), 8 deletions(-) create mode 100644 libcc1/ChangeLog create mode 100644 libcc1/Makefile.am create mode 100644 libcc1/Makefile.in create mode 100644 libcc1/aclocal.m4 create mode 100644 libcc1/callbacks.cc create mode 100644 libcc1/callbacks.hh create mode 100644 libcc1/cc1plugin-config.h.in create mode 100755 libcc1/configure create mode 100644 libcc1/configure.ac create mode 100644 libcc1/connection.cc create mode 100644 libcc1/connection.hh create mode 100644 libcc1/libcc1.cc create mode 100644 libcc1/libcc1.sym create mode 100644 libcc1/libcc1plugin.sym create mode 100644 libcc1/marshall.cc create mode 100644 libcc1/marshall.hh create mode 100644 libcc1/names.cc create mode 100644 libcc1/names.hh create mode 100644 libcc1/plugin.cc create mode 100644 libcc1/rpc.hh create mode 100644 libcc1/status.hh
0001-add-libcc1.patch.gz
Description: the patch