* autoload.cc (GetSystemDEPPolicy): Define.
(GetProcessDEPPolicy): Ditto. (SetProcessDEPPolicy): Ditto. * dcrt0.cc (disable_dep): New static function. (dll_crt0_0): Call disable_dep on platforms requiring it. Add longish comment to explain the circumstances. * wincap.h (wincaps::ts_has_dep_problem): New element. * wincap.cc: Implement above element throughout. (wincapc::init): Set ts_has_dep_problem to true on 2008 Terminal Servers. * winsup.h (WINVER): Set to 0x0601.
This commit is contained in:
@@ -50,6 +50,7 @@ wincaps wincap_unknown __attribute__((section (".cygwin_dll_common"), shared)) =
|
||||
supports_all_posix_ai_flags:false,
|
||||
has_restricted_stack_args:false,
|
||||
has_transactions:false,
|
||||
ts_has_dep_problem:false,
|
||||
};
|
||||
|
||||
wincaps wincap_nt4 __attribute__((section (".cygwin_dll_common"), shared)) = {
|
||||
@@ -82,6 +83,7 @@ wincaps wincap_nt4 __attribute__((section (".cygwin_dll_common"), shared)) = {
|
||||
supports_all_posix_ai_flags:false,
|
||||
has_restricted_stack_args:false,
|
||||
has_transactions:false,
|
||||
ts_has_dep_problem:false,
|
||||
};
|
||||
|
||||
wincaps wincap_nt4sp4 __attribute__((section (".cygwin_dll_common"), shared)) = {
|
||||
@@ -114,6 +116,7 @@ wincaps wincap_nt4sp4 __attribute__((section (".cygwin_dll_common"), shared)) =
|
||||
supports_all_posix_ai_flags:false,
|
||||
has_restricted_stack_args:false,
|
||||
has_transactions:false,
|
||||
ts_has_dep_problem:false,
|
||||
};
|
||||
|
||||
wincaps wincap_2000 __attribute__((section (".cygwin_dll_common"), shared)) = {
|
||||
@@ -146,6 +149,7 @@ wincaps wincap_2000 __attribute__((section (".cygwin_dll_common"), shared)) = {
|
||||
supports_all_posix_ai_flags:false,
|
||||
has_restricted_stack_args:false,
|
||||
has_transactions:false,
|
||||
ts_has_dep_problem:false,
|
||||
};
|
||||
|
||||
wincaps wincap_2000sp4 __attribute__((section (".cygwin_dll_common"), shared)) = {
|
||||
@@ -178,6 +182,7 @@ wincaps wincap_2000sp4 __attribute__((section (".cygwin_dll_common"), shared)) =
|
||||
supports_all_posix_ai_flags:false,
|
||||
has_restricted_stack_args:false,
|
||||
has_transactions:false,
|
||||
ts_has_dep_problem:false,
|
||||
};
|
||||
|
||||
wincaps wincap_xp __attribute__((section (".cygwin_dll_common"), shared)) = {
|
||||
@@ -210,6 +215,7 @@ wincaps wincap_xp __attribute__((section (".cygwin_dll_common"), shared)) = {
|
||||
supports_all_posix_ai_flags:false,
|
||||
has_restricted_stack_args:false,
|
||||
has_transactions:false,
|
||||
ts_has_dep_problem:false,
|
||||
};
|
||||
|
||||
wincaps wincap_xpsp1 __attribute__((section (".cygwin_dll_common"), shared)) = {
|
||||
@@ -242,6 +248,7 @@ wincaps wincap_xpsp1 __attribute__((section (".cygwin_dll_common"), shared)) = {
|
||||
supports_all_posix_ai_flags:false,
|
||||
has_restricted_stack_args:false,
|
||||
has_transactions:false,
|
||||
ts_has_dep_problem:false,
|
||||
};
|
||||
|
||||
wincaps wincap_xpsp2 __attribute__((section (".cygwin_dll_common"), shared)) = {
|
||||
@@ -274,6 +281,7 @@ wincaps wincap_xpsp2 __attribute__((section (".cygwin_dll_common"), shared)) = {
|
||||
supports_all_posix_ai_flags:false,
|
||||
has_restricted_stack_args:false,
|
||||
has_transactions:false,
|
||||
ts_has_dep_problem:false,
|
||||
};
|
||||
|
||||
wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = {
|
||||
@@ -306,6 +314,7 @@ wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = {
|
||||
supports_all_posix_ai_flags:false,
|
||||
has_restricted_stack_args:true,
|
||||
has_transactions:false,
|
||||
ts_has_dep_problem:false,
|
||||
};
|
||||
|
||||
wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = {
|
||||
@@ -338,6 +347,7 @@ wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = {
|
||||
supports_all_posix_ai_flags:true,
|
||||
has_restricted_stack_args:false,
|
||||
has_transactions:true,
|
||||
ts_has_dep_problem:false,
|
||||
};
|
||||
|
||||
wincapc wincap __attribute__((section (".cygwin_dll_common"), shared));
|
||||
@@ -419,8 +429,14 @@ wincapc::init ()
|
||||
}
|
||||
|
||||
if (has_osversioninfoex && version.wProductType != VER_NT_WORKSTATION)
|
||||
((wincaps *)caps)->is_server = true;
|
||||
|
||||
{
|
||||
((wincaps *)caps)->is_server = true;
|
||||
if (version.dwMajorVersion >= 6
|
||||
&& (version.wSuiteMask
|
||||
& (VER_SUITE_TERMINAL | VER_SUITE_SINGLEUSERTS))
|
||||
== VER_SUITE_TERMINAL)
|
||||
((wincaps *)caps)->ts_has_dep_problem = true;
|
||||
}
|
||||
if (NT_SUCCESS (NtQueryInformationProcess (GetCurrentProcess (),
|
||||
ProcessWow64Information,
|
||||
&wow64, sizeof wow64, NULL))
|
||||
|
Reference in New Issue
Block a user