On Sat, 30 May 2015 05:06:34 -0400, Jacob Carlborg <d...@me.com> wrote:

On 2015-05-30 01:03, bitwise wrote:

No, it opens the image for the main program, even if called from  a
shared lib.

And that void* which is returned is actually a "mach_header*", if I
recall correctly.

Not sure if this is true.

I see, it was mostly a guess.


Not sure how accurate this code[1] is, but it seems dlopen returns a pointer to the image itself, which has a function
machHeader();

http://www.opensource.apple.com/source/dyld/dyld-353.2.1/src/dyldAPIs.cpp

dlopen returns magic numbers(RTLD_MAIN_ONLY or RTLD_DEFAULT) if you pass null, and sometimes it "|"s a 1 with the image pointer. So we can't really use it to get at the header.

  Bit

Reply via email to