Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2015-12-03 15:33:43 +0300
committerCorinna Vinschen <corinna@vinschen.de>2015-12-03 15:33:43 +0300
commitf1ed5bfa8385a81d72313604e90b9096f8bf2ead (patch)
tree4e00700390d0228f6ffb1f375c4c86df87996918 /winsup/cygwin/wincap.cc
parent8a14e51901a40c5bfaf09915f88249173d9b2b05 (diff)
Fix /proc/<PID>/maps output for PEB and TEBs on W10 1511
* fhandler_process.cc (heap_info::fill_if_match): Return NULL, not 0. (thread_info::fill_if_match): Ditto. (thread_info::fill_if_match): New method to extract TEB info from PEB/TEB region since W10 1511. (format_process_maps): Drop outdated FIXME comment. Add code to handle PEB/TEB region since W10 1511. * mmap.cc (posix_madvise): Align comment to new W10 1511 version. * wincap.h (wincaps::has_new_pebteb_region): New element. * wincap.cc: Implement above element throughout. (wincap_10_1511): New global wincaps to support Windows 10 since 1511. (wincapc::init): Use wincap_10_1511 for W10 builds >= 10586. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'winsup/cygwin/wincap.cc')
-rw-r--r--winsup/cygwin/wincap.cc45
1 files changed, 44 insertions, 1 deletions
diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc
index 6e98df6c4..4bf62d725 100644
--- a/winsup/cygwin/wincap.cc
+++ b/winsup/cygwin/wincap.cc
@@ -51,6 +51,7 @@ wincaps wincap_xpsp2 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_broken_rtl_query_process_debug_information:false,
has_processor_groups:false,
has_broken_prefetchvm:false,
+ has_new_pebteb_region:false,
};
wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = {
@@ -84,6 +85,7 @@ wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_broken_rtl_query_process_debug_information:true,
has_processor_groups:false,
has_broken_prefetchvm:false,
+ has_new_pebteb_region:false,
};
wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = {
@@ -117,6 +119,7 @@ wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = {
has_broken_rtl_query_process_debug_information:false,
has_processor_groups:false,
has_broken_prefetchvm:false,
+ has_new_pebteb_region:false,
};
wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = {
@@ -150,6 +153,7 @@ wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_broken_rtl_query_process_debug_information:false,
has_processor_groups:true,
has_broken_prefetchvm:false,
+ has_new_pebteb_region:false,
};
wincaps wincap_8 __attribute__((section (".cygwin_dll_common"), shared)) = {
@@ -183,6 +187,7 @@ wincaps wincap_8 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_broken_rtl_query_process_debug_information:false,
has_processor_groups:true,
has_broken_prefetchvm:false,
+ has_new_pebteb_region:false,
};
wincaps wincap_10 __attribute__((section (".cygwin_dll_common"), shared)) = {
@@ -216,6 +221,41 @@ wincaps wincap_10 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_broken_rtl_query_process_debug_information:false,
has_processor_groups:true,
has_broken_prefetchvm:true,
+ has_new_pebteb_region:false,
+};
+
+wincaps wincap_10_1511 __attribute__((section (".cygwin_dll_common"), shared)) = {
+ def_guard_pages:2,
+ max_sys_priv:SE_CREATE_SYMBOLIC_LINK_PRIVILEGE,
+ is_server:false,
+ has_mandatory_integrity_control:true,
+ needs_count_in_si_lpres2:false,
+ has_recycle_dot_bin:true,
+ has_gaa_on_link_prefix:true,
+ has_gaa_largeaddress_bug:false,
+ supports_all_posix_ai_flags:true,
+ has_restricted_stack_args:false,
+ has_transactions:true,
+ has_sendmsg:true,
+ has_broken_udf:false,
+ has_broken_alloc_console:true,
+ has_always_all_codepages:true,
+ has_localenames:true,
+ has_fast_cwd:true,
+ has_restricted_raw_disk_access:true,
+ use_dont_resolve_hack:false,
+ has_console_logon_sid:true,
+ wow64_has_secondary_stack:false,
+ has_program_compatibility_assistant:true,
+ has_pipe_reject_remote_clients:true,
+ terminate_thread_frees_stack:true,
+ has_precise_system_time:true,
+ has_microsoft_accounts:true,
+ has_set_thread_stack_guarantee:true,
+ has_broken_rtl_query_process_debug_information:false,
+ has_processor_groups:true,
+ has_broken_prefetchvm:false,
+ has_new_pebteb_region:true,
};
wincapc wincap __attribute__((section (".cygwin_dll_common"), shared));
@@ -263,7 +303,10 @@ wincapc::init ()
break;
case 10:
default:
- caps = &wincap_10;
+ if (version.dwBuildNumber >= 10586)
+ caps = &wincap_10_1511;
+ else
+ caps = &wincap_10;
break;
}