This is the mail archive of the cygwin-apps@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: symlink dll


Reini Urban wrote:
Sure. But who instantiates the loading of the DLL?
It's LoadLibrary(). (LoadLibraryExA() probably)
And in Cgywin it's dlopen(), which resolves the paths before
LoadLibrary(). LoadLibrary gets the real, specialized dll.

Erm, NO!


Run-time linking of ordinary DLLs happens completely out of the control of anything cygwin-related.

Let's try a little experiment:

/bin $ perl -V | head -1
Summary of my perl5 (revision 5 version 8 subversion 5) configuration:
/bin $ cygcheck perl.exe
Found: .\perl.exe
Found: M:\cygwin\bin\perl.exe
perl.exe
.\cygperl5_8_5.dll
.\cygcrypt-0.dll
.\cygwin1.dll
C:\WINDOWS\system32\ADVAPI32.DLL
C:\WINDOWS\system32\ntdll.dll
C:\WINDOWS\system32\KERNEL32.dll
C:\WINDOWS\system32\RPCRT4.dll
/bin $ mv cygperl5_8_5.dll cygperlfoo.dll
/bin $ ln -s cygperlfoo.dll cygperl5_8_5.dll
/bin $ ls -l cygperl5_8_5.dll
lrwxrwxrwx 1 max None 14 Aug 30 16:14 cygperl5_8_5.dll -> cygperlfoo.dll
/bin $ perl -V | head -1
### DLL not found MessageBox from Windows ###



IT WILL NOT WORK! Try it yourself if you like.

Max.




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]