Re: DYLD_INSERT_LIBRARIES doesn't work with Leopard?
Re: DYLD_INSERT_LIBRARIES doesn't work with Leopard?
- Subject: Re: DYLD_INSERT_LIBRARIES doesn't work with Leopard?
- From: Kevin Van Vechten <email@hidden>
- Date: Mon, 12 Nov 2007 15:46:43 -0800
On Nov 11, 2007, at 1:02 PM, Błażej Biesiada wrote:
I'm trying to interpose system's open() function with my own using
the dyld, I had no problem with that on Tiger, but the same code on
Leopard doesn't work any longer. I compile my library this way:
gcc -arch ppc -dynamiclib -fno-common -o open_interposer.dylib
open_interposer.c
and then I run my app this way:
DYLD_INSERT_LIBRARIES=open_interposer.dylib
DYLD_FORCE_FLAT_NAMESPACE=1 ./my_app
and the application is still using system's open() function instead
of mine :(. DYLD_PRINT_LIBRARIES=1 shows that pen_interposer.dylib
is loaded before other libs.
This approach works for me on Leopard (it's how DarwinBuild tracks
dependency information).
Does anything changed about dyld in Leopard? :|
I'm not sure whether it's a Leopard change or not, but I believe that
DYLD_INSERT_LIBRARIES is ignored if the target binary is setuid. I
also notice you're only compiling with -arch ppc; is it possible the
target binary is compiled for a different architecture (i.e. ppc64?).
- Kevin _______________________________________________
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