diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2015-12-03 15:33:43 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2015-12-03 15:33:43 +0300 |
commit | f1ed5bfa8385a81d72313604e90b9096f8bf2ead (patch) | |
tree | 4e00700390d0228f6ffb1f375c4c86df87996918 /winsup/cygwin/wincap.cc | |
parent | 8a14e51901a40c5bfaf09915f88249173d9b2b05 (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.cc | 45 |
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; } |