diff options
author | Christopher Faylor <me@cgf.cx> | 2011-03-01 00:19:23 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2011-03-01 00:19:23 +0000 |
commit | ba5f92981d9071c79838017587085a1c0cbce7b3 (patch) | |
tree | 6ccd717e8a3a310a76a81d055c1f492bc91c7d14 /winsup/cygwin/autoload.cc | |
parent | 8ceb4854b6d0382aabd9a31daf1896be84fb9004 (diff) | |
download | cygnal-ba5f92981d9071c79838017587085a1c0cbce7b3.tar.gz cygnal-ba5f92981d9071c79838017587085a1c0cbce7b3.tar.bz2 cygnal-ba5f92981d9071c79838017587085a1c0cbce7b3.zip |
* autoload.cc (dll_load): Only perform DONT_RESOLVE_DLL_REFERENCES hack on
systems which need it.
* wincap.cc (use_dont_resolve_hack): Set as appropriate.
* wincap.h (use_dont_resolve_hack): Define.
Diffstat (limited to 'winsup/cygwin/autoload.cc')
-rw-r--r-- | winsup/cygwin/autoload.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/autoload.cc b/winsup/cygwin/autoload.cc index e3c719176..8b20fea2b 100644 --- a/winsup/cygwin/autoload.cc +++ b/winsup/cygwin/autoload.cc @@ -216,7 +216,8 @@ static __inline bool dll_load (HANDLE& handle, WCHAR *name) { HANDLE h = LoadLibraryW (name); - if (!h && in_forkee && handle && GetLastError () == ERROR_INVALID_ADDRESS) + if (!h && in_forkee && handle && GetLastError () == ERROR_INVALID_ADDRESS + && wincap.use_dont_resolve_hack ()) h = LoadLibraryExW (name, NULL, DONT_RESOLVE_DLL_REFERENCES); if (!h) return false; |