Re: DYLD_INSERT_LIBRARIES and read()
Re: DYLD_INSERT_LIBRARIES and read()
- Subject: Re: DYLD_INSERT_LIBRARIES and read()
- From: Terry Lambert <email@hidden>
- Date: Thu, 13 Mar 2008 19:51:31 -0700
On Mar 13, 2008, at 5:00 PM, Luke Daley wrote:
On 13/03/2008, at 5:19 PM, stephen joseph butler wrote:
I have written an implementation of read(int, void*, size_t) that I
am trying to use via DYLD_INSERT_LIBRARIES. I have this working fine
on 10.4, but not on 10.5.
I have read http://lists.apple.com/archives/Darwin-dev/2007/Nov/
msg00061.html but am still not clear on what I need to do. A follow
up to that post mentions including a header. I can't seem to find
any
detail on this header.
Look at the function prototype declaration in <unistd.h> on 10.5.
You have to do yours the same way. Macros are defined in <sys/
cdefs.h>.
Thanks Stephen,
I tried and no dice.
I am compiling with …
gcc -dynamiclib -o mylib.dylib -fno-common -framework CoreFoundation
-mmacosx-version-min=10.4 mysource.c
Do I need to add something to that?
Specifically, I think I need to provide all 3 symbols (_read, _read
$UNIX2003 and _read$NOCANCEL$UNIX2003) for this to work.
The thing that's killing you is you are using -mmacosx-version-min=10.4
When we compile Libc, we compile it three times in order to get the
three versions of the symbols, once each with different definitions.
You'll never get the $NOCANCEL version of the symb (the one that
avoids the _thread_testcancel() at the start of the system call in the
kernel) on a 10.4 deployment target.
-- Terry _______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden