Hi Geoff, hi Alex If you implement the GDB JIT Interface in your Orc JIT, this is in general possible (at least from the JIT's point of view) with both debuggers, GDB and LLDB. Please have a look at the example here: https://github.com/weliveindetail/JitFromScratch/tree/jit-debug/gdb-interface You will probably need to adjust the code depending on the LLVM version you are using. As described in the readme, however, getting it to work in practice depends on a few more details. To Keep it short: * Linux: works out of the box * macOS: possible, but cumbersome (the example is not up-to-date here) * Windows: I lost hope (haven't looked at it for a long time though) Best Stefan Am 13.07.18 um 21:00 schrieb Alex Denisov:> cc'ing Stefan Gränitz, he had some progress on this topic. > >> On 13. Jul 2018, at 18:39, Geoff Levner via llvm-dev <llvm-dev at lists.llvm.org> wrote: >> >> Greetings, LLVM wizards. >> >> I was just wondering if any progress has been made on this issue in the last few months (using gdb to debug a module compiled by Orc). I had to move to the Orc API in order to be able to call modules' constructors and destructors as needed, but I would quite like to be able to debug and profile the resulting code as well... >> >> Thanks, >> Geoff >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
That works (on Linux)! Thanks very much for the pointer, Stefan. Might you be able to point me to any information about getting profiling to work as well? Thanks again, Geoff On Sat, 14 Jul 2018 at 23:06, Stefan Gränitz <stefan.graenitz at gmail.com> wrote:> Hi Geoff, hi Alex > > If you implement the GDB JIT Interface in your Orc JIT, this is in > general possible (at least from the JIT's point of view) with both > debuggers, GDB and LLDB. Please have a look at the example here: > > https://github.com/weliveindetail/JitFromScratch/tree/jit-debug/gdb-interface > > You will probably need to adjust the code depending on the LLVM version > you are using. As described in the readme, however, getting it to work > in practice depends on a few more details. To Keep it short: > * Linux: works out of the box > * macOS: possible, but cumbersome (the example is not up-to-date here) > * Windows: I lost hope (haven't looked at it for a long time though) > > Best > Stefan > > Am 13.07.18 um 21:00 schrieb Alex Denisov: > > cc'ing Stefan Gränitz, he had some progress on this topic. > > > >> On 13. Jul 2018, at 18:39, Geoff Levner via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> > >> Greetings, LLVM wizards. > >> > >> I was just wondering if any progress has been made on this issue in the > last few months (using gdb to debug a module compiled by Orc). I had to > move to the Orc API in order to be able to call modules' constructors and > destructors as needed, but I would quite like to be able to debug and > profile the resulting code as well... > >> > >> Thanks, > >> Geoff >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180716/1d549653/attachment.html>
(Sorry, I hadn't seen the recent post by Frank Tetzel asking essentially the same question...) On Mon, 16 Jul 2018 at 11:56, Geoff Levner <glevner at gmail.com> wrote:> That works (on Linux)! Thanks very much for the pointer, Stefan. > > Might you be able to point me to any information about getting profiling > to work as well? > > Thanks again, > Geoff > > On Sat, 14 Jul 2018 at 23:06, Stefan Gränitz <stefan.graenitz at gmail.com> > wrote: > >> Hi Geoff, hi Alex >> >> If you implement the GDB JIT Interface in your Orc JIT, this is in >> general possible (at least from the JIT's point of view) with both >> debuggers, GDB and LLDB. Please have a look at the example here: >> >> https://github.com/weliveindetail/JitFromScratch/tree/jit-debug/gdb-interface >> >> You will probably need to adjust the code depending on the LLVM version >> you are using. As described in the readme, however, getting it to work >> in practice depends on a few more details. To Keep it short: >> * Linux: works out of the box >> * macOS: possible, but cumbersome (the example is not up-to-date here) >> * Windows: I lost hope (haven't looked at it for a long time though) >> >> Best >> Stefan >> >> Am 13.07.18 um 21:00 schrieb Alex Denisov: >> > cc'ing Stefan Gränitz, he had some progress on this topic. >> > >> >> On 13. Jul 2018, at 18:39, Geoff Levner via llvm-dev < >> llvm-dev at lists.llvm.org> wrote: >> >> >> >> Greetings, LLVM wizards. >> >> >> >> I was just wondering if any progress has been made on this issue in >> the last few months (using gdb to debug a module compiled by Orc). I had to >> move to the Orc API in order to be able to call modules' constructors and >> destructors as needed, but I would quite like to be able to debug and >> profile the resulting code as well... >> >> >> >> Thanks, >> >> Geoff >> >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180716/495dc3be/attachment.html>
Might be nice to get your examples as part of the rest of the Orc documentation :) -eric On Sat, Jul 14, 2018 at 2:06 PM Stefan Gränitz via llvm-dev < llvm-dev at lists.llvm.org> wrote:> Hi Geoff, hi Alex > > If you implement the GDB JIT Interface in your Orc JIT, this is in > general possible (at least from the JIT's point of view) with both > debuggers, GDB and LLDB. Please have a look at the example here: > > https://github.com/weliveindetail/JitFromScratch/tree/jit-debug/gdb-interface > > You will probably need to adjust the code depending on the LLVM version > you are using. As described in the readme, however, getting it to work > in practice depends on a few more details. To Keep it short: > * Linux: works out of the box > * macOS: possible, but cumbersome (the example is not up-to-date here) > * Windows: I lost hope (haven't looked at it for a long time though) > > Best > Stefan > > Am 13.07.18 um 21:00 schrieb Alex Denisov: > > cc'ing Stefan Gränitz, he had some progress on this topic. > > > >> On 13. Jul 2018, at 18:39, Geoff Levner via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> > >> Greetings, LLVM wizards. > >> > >> I was just wondering if any progress has been made on this issue in the > last few months (using gdb to debug a module compiled by Orc). I had to > move to the Orc API in order to be able to call modules' constructors and > destructors as needed, but I would quite like to be able to debug and > profile the resulting code as well... > >> > >> Thanks, > >> Geoff > >> _______________________________________________ > >> LLVM Developers mailing list > >> llvm-dev at lists.llvm.org > >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180716/35f14f03/attachment.html>