Hi Jim, just pinging this again to see if you've had a chance to take a
quick look at the ModulesDidLoad patch, let me know if you'd prefer I
submit this as a general patch for someone else to review. Thanks!
On Fri, Mar 7, 2014 at 10:41 AM, Andrew MacPherson andrew.m...@gmail.comwrote:
Hi
Sorry, got busy.
This looks fine.
Jim
On Mar 12, 2014, at 2:29 AM, Andrew MacPherson andrew.m...@gmail.com wrote:
Hi Jim, just pinging this again to see if you've had a chance to take a quick
look at the ModulesDidLoad patch, let me know if you'd prefer I submit this
as a general patch
Hi Jim,
I've attached a patch here that does what you suggest, I created a
ModulesDidLoad() on both the Process and the JITLoader and use this now to
only search the new modules for necessary JIT symbols. This works great and
startup time does seem faster on programs with large shared libraries.
Hi Jim,
I agree that this part of the patch isn't pretty but I wasn't able to find
a way to be notified when a shared library is loaded (exactly as you
suggest). We need to check on launch or attach and then whenever a new
library is loaded, if there's a better way to do that it would be great to
This part of the patch worries me. If I am debugging a process that doesn’t
have this JIT loader symbol, this bit means every time that the process stops
for any reason you will search the whole world for some symbol that won’t be
found. That’s something we really avoid doing if we can,
So the crash is coming (on OS X) only in the case where you use:
(lldb) process launch —shell=/bin/bash —
which we implement (as does gdb) by consing up a command like:
/bin/bash exec PROGNAME arg1 arg2 …
and then running that. So the program exec’s a few times before it gets to the
BTW, I realize this was a kind of incoherent message. I was looking at the
patch and wrote the first and last sections, then played with it and saw the
crash, and interleaved the two messages… Sorry ‘bout that, my only defense is
that I was waiting for the Pizza to arrive…
Jim
On Mar 5,