Mail Archives: cygwin/2008/03/22/21:09:38
On Wed, Mar 05, 2008 at 08:47:13AM +0000, Matthieu CASTET wrote:
>Hi,
>
>I am trying to use LD_PRELOAD on cygwin, but I don't manage to make work.
>I suppose I do something wrong when creating my library.
>
>What I do is :
>
>$ cat << EOF > /tmp/toto1.c
>#include <sys/stat.h>
>int chmod(const char *path, mode_t mode)
>{
> printf("123\n");
> return -1;
>}
>EOF
>
>$ module=toto1 gcc -shared -o /tmp/cyg${module}.dll
>-Wl,--out-implib=lib${module}.dll.a -Wl,--export-all-symbols
>-Wl,--enable-auto-import -Wl,--whole-archive /tmp/toto1.c -Wl,--no-whole-archive
>
>$ export LD_PRELOAD=/tmp/cygtoto1.dll
>
>$ chmod a+w /tmp/toto1.c <-- chmod isn't redirected here (but the
>library is loaded).
>
>
>Any idea why it doesn't work ?
Sorry for the delay. I had to research this to refresh my memory.
Cygwin requires that you hook the symbol using something like the following:
cygwin_internal (CW_HOOK, symname, sym);
Where "symname" is the name of the symbol and sym is the address of the
hook function.
cgf
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -