<div dir="ltr">I've gotten pretty far,<div>Code is here: <a href="https://github.com/loladiro/lldb">https://github.com/loladiro/lldb</a></div><div>It's interacting correctly with the debug interface and I've got it loading the object file from memory correctly for </div>

<div>MachO/DWARF (working on ELF right now). Currently not much use as it doesn't seem to be looking at the</div><div>debug information that were just added (I can see them via `image dump sections` and I can set breakpoints</div>

<div>correctly though, so that's a plus). For DWARF, there's a few changes for upstream LLVM needed. I'll put them</div><div>up if anybody's interested, otherwise, I'll just keep chugging along and wait until I have more complete patch.</div>

<div><br></div><div>- Keno</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Dec 28, 2013 at 1:07 PM, Andrew MacPherson <span dir="ltr"><<a href="mailto:andrew.macp@gmail.com" target="_blank">andrew.macp@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Keno,<br><br>I noticed the same thing and agree that the JIT loader doesn't perfectly fit as a DynamicLoader, the suggestion from a couple of years back on the list was to make the Process -> DynamicLoader relationship 1:n but I prefer your suggestion of adding a new plugin type (JITLoader). Right now there would only be one JITLoader type for the GDB interface.<br>



<br>The patch could probably be fixed up as-is as a first step (leaving the JIT loading bits as a growth on the DynamicLoaderPOSIXDYLD) and we could move it out into its own plugin type once that's working. I should have time this coming week to get this working but if you'll also have time then I'm happy to leave it with you.<br>



<br>Cheers,<br>Andrew<br></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Dec 28, 2013 at 9:37 AM, Keno Fischer <span dir="ltr"><<a href="mailto:kfischer@college.harvard.edu" target="_blank">kfischer@college.harvard.edu</a>></span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I've started looking into this and it's actually not that difficult to do (the JIT part at least). I think the most difficult thing is<div>



figuring out where to put the functionality. The way I see it, the JIT interface is almost a DynamicLoader, with the difference</div>

<div>that asking it about things like whether or not loading a dynamic library is safe doesn't make much sense. Another problem</div><div>is that currently there's a 1:1 relationship between Processes and DynamicLoaders. Perhaps a new class of Plugins </div>





<div>(JITLoader?) could be added with a 1:n relationship to processes. Some of the interface (I'm thinking</div><div> DidLaunch,DidAttach,Get/SetStopWhenImagesChange) could be pulled out into an abstract base class. Does that make </div>





<div>sense. I'd be happy to implement this once we decide on the design.</div><span><font color="#888888"><div><br></div><div>Keno</div></font></span></div><div><div><div class="gmail_extra">

<br><br><div class="gmail_quote">On Wed, Dec 25, 2013 at 10:30 AM, Andrew MacPherson <span dir="ltr"><<a href="mailto:andrew.macp@gmail.com" target="_blank">andrew.macp@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Looks great, thanks Keno. I'll look into this next week and keep you posted.<br><br>Cheers,<br>Andrew<br>





</div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Dec 24, 2013 at 1:19 PM, Keno Fischer <span dir="ltr"><<a href="mailto:kfischer@college.harvard.edu" target="_blank">kfischer@college.harvard.edu</a>></span> wrote:<br>







<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I have this (as I said, I haven't tried it). It seems to be a different patch.</div><div>

<div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Dec 24, 2013 at 11:17 AM, Andrew MacPherson <span dir="ltr"><<a href="mailto:andrew.macp@gmail.com" target="_blank">andrew.macp@gmail.com</a>></span> wrote:<br>









<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi Keno,<br><br>I found this old patch that hooks into the GDB JIT registration mechanism which we were planning to use as a starting point:<br>









<br><a href="http://lists.cs.uiuc.edu/pipermail/lldb-dev/2010-December/000314.html" target="_blank">http://lists.cs.uiuc.edu/pipermail/lldb-dev/2010-December/000314.html</a><br>

<br></div>If you have anything else we'd love to take a look!<br><br>Cheers,<br>Andrew<br></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div>On Tue, Dec 24, 2013 at 8:34 AM, Keno Fischer <span dir="ltr"><<a href="mailto:kfischer@college.harvard.edu" target="_blank">kfischer@college.harvard.edu</a>></span> wrote:<br>











</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr">Hi Andrew,<div><br></div><div>I'm also one of the Julia core developers and the guy currently working on </div>











<div>debugging support. I was given a patch to add MCJIT debugging support</div><div>to LLDB with the disclaimer that it probably doesn't work. I haven't tried it </div>

<div>yet, so I can't say how close it is, but it's probably at least a starting point. </div><div><br></div><div>I'd be happy to coordinate any efforts. </div><span><font color="#888888"><div><br>

</div><div>- Keno</div></font></span></div>
<br></div></div>_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@cs.uiuc.edu" target="_blank">lldb-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>