This is the mail archive of the
cygwin-cvs@cygwin.com
mailing list for the Cygwin project.
[newlib-cygwin] cygwin: wincap: handle W10 1703
- From: Corinna Vinschen <corinna at sourceware dot org>
- To: cygwin-cvs at sourceware dot org
- Date: 24 Apr 2017 15:17:44 -0000
- Subject: [newlib-cygwin] cygwin: wincap: handle W10 1703
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=e7bcf4633e569ed0d6d695a71c4fecdfdc6f4b2d
commit e7bcf4633e569ed0d6d695a71c4fecdfdc6f4b2d
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Mon Apr 24 17:14:03 2017 +0200
cygwin: wincap: handle W10 1703
Add has_unprivileged_createsymlink flag and set to true on 1703 and
later.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diff:
---
winsup/cygwin/wincap.cc | 28 ++++++++++++++++++++++++++--
winsup/cygwin/wincap.h | 2 ++
2 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc
index c8799f3..0d20d37 100644
--- a/winsup/cygwin/wincap.cc
+++ b/winsup/cygwin/wincap.cc
@@ -31,6 +31,7 @@ wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = {
has_broken_prefetchvm:false,
has_new_pebteb_region:false,
has_broken_whoami:true,
+ has_unprivileged_createsymlink:false,
},
};
@@ -48,6 +49,7 @@ wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_broken_prefetchvm:false,
has_new_pebteb_region:false,
has_broken_whoami:true,
+ has_unprivileged_createsymlink:false,
},
};
@@ -65,6 +67,7 @@ wincaps wincap_8 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_broken_prefetchvm:false,
has_new_pebteb_region:false,
has_broken_whoami:false,
+ has_unprivileged_createsymlink:false,
},
};
@@ -82,6 +85,7 @@ wincaps wincap_10 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_broken_prefetchvm:true,
has_new_pebteb_region:false,
has_broken_whoami:false,
+ has_unprivileged_createsymlink:false,
},
};
@@ -99,6 +103,25 @@ wincaps wincap_10_1511 __attribute__((section (".cygwin_dll_common"), shared)) =
has_broken_prefetchvm:false,
has_new_pebteb_region:true,
has_broken_whoami:false,
+ has_unprivileged_createsymlink:false,
+ },
+};
+
+wincaps wincap_10_1703 __attribute__((section (".cygwin_dll_common"), shared)) = {
+ def_guard_pages:2,
+ {
+ is_server:false,
+ needs_count_in_si_lpres2:false,
+ has_gaa_largeaddress_bug:false,
+ has_broken_alloc_console:true,
+ has_console_logon_sid:true,
+ has_precise_system_time:true,
+ has_microsoft_accounts:true,
+ has_processor_groups:true,
+ has_broken_prefetchvm:false,
+ has_new_pebteb_region:true,
+ has_broken_whoami:false,
+ has_unprivileged_createsymlink:true,
},
};
@@ -144,9 +167,10 @@ wincapc::init ()
default:
if (version.dwBuildNumber < 10586)
caps = &wincap_10;
- else
+ else if (version.dwBuildNumber < 15063)
caps = &wincap_10_1511;
- break;
+ else
+ caps = &wincap_10_1703;
}
((wincaps *)caps)->is_server = (version.wProductType != VER_NT_WORKSTATION);
diff --git a/winsup/cygwin/wincap.h b/winsup/cygwin/wincap.h
index e32674f..990a3a4 100644
--- a/winsup/cygwin/wincap.h
+++ b/winsup/cygwin/wincap.h
@@ -26,6 +26,7 @@ struct wincaps
unsigned has_broken_prefetchvm : 1;
unsigned has_new_pebteb_region : 1;
unsigned has_broken_whoami : 1;
+ unsigned has_unprivileged_createsymlink : 1;
};
};
@@ -67,6 +68,7 @@ public:
bool IMPLEMENT (has_broken_prefetchvm)
bool IMPLEMENT (has_new_pebteb_region)
bool IMPLEMENT (has_broken_whoami)
+ bool IMPLEMENT (has_unprivileged_createsymlink)
#undef IMPLEMENT
};