summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/autoload.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2011-03-01 00:19:23 +0000
committerChristopher Faylor <me@cgf.cx>2011-03-01 00:19:23 +0000
commitba5f92981d9071c79838017587085a1c0cbce7b3 (patch)
tree6ccd717e8a3a310a76a81d055c1f492bc91c7d14 /winsup/cygwin/autoload.cc
parent8ceb4854b6d0382aabd9a31daf1896be84fb9004 (diff)
downloadcygnal-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.cc3
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;