https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=8b4c5fac7d6bdca5420b349c4b03339980cc6169
commit 8b4c5fac7d6bdca5420b349c4b03339980cc6169 Author: Corinna Vinschen <[email protected]> AuthorDate: Tue Nov 18 13:19:16 2025 +0100 Commit: Corinna Vinschen <[email protected]> CommitDate: Tue Nov 18 13:36:48 2025 +0100 Cygwin: wincap: add wincap entry for Windows 11 24H2 Also add a wincap bit allowing to check existence of AllocConsoleWithOptions(). Signed-off-by: Corinna Vinschen <[email protected]> Diff: --- winsup/cygwin/local_includes/wincap.h | 2 ++ winsup/cygwin/wincap.cc | 37 ++++++++++++++++++++++++++++++++++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/local_includes/wincap.h b/winsup/cygwin/local_includes/wincap.h index 250866f0614c..2416eee1d9c7 100644 --- a/winsup/cygwin/local_includes/wincap.h +++ b/winsup/cygwin/local_includes/wincap.h @@ -33,6 +33,7 @@ struct wincaps unsigned has_tcp_maxrtms : 1; unsigned has_con_broken_tabs : 1; unsigned has_user_shstk : 1; + unsigned has_alloc_console_with_options : 1; }; }; @@ -90,6 +91,7 @@ public: bool IMPLEMENT (has_tcp_maxrtms) bool IMPLEMENT (has_con_broken_tabs) bool IMPLEMENT (has_user_shstk) + bool IMPLEMENT (has_alloc_console_with_options) void disable_case_sensitive_dirs () { diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc index deecf8ba519d..91caefe9bc4b 100644 --- a/winsup/cygwin/wincap.cc +++ b/winsup/cygwin/wincap.cc @@ -32,6 +32,7 @@ static const wincaps wincap_8_1 = { has_tcp_maxrtms:false, has_con_broken_tabs:false, has_user_shstk:false, + has_alloc_console_with_options:false, }, }; @@ -54,6 +55,7 @@ static const wincaps wincap_10_1507 = { has_tcp_maxrtms:false, has_con_broken_tabs:false, has_user_shstk:false, + has_alloc_console_with_options:false, }, }; @@ -76,6 +78,7 @@ static const wincaps wincap_10_1607 = { has_tcp_maxrtms:true, has_con_broken_tabs:false, has_user_shstk:false, + has_alloc_console_with_options:false, }, }; @@ -98,6 +101,7 @@ static const wincaps wincap_10_1703 = { has_tcp_maxrtms:true, has_con_broken_tabs:true, has_user_shstk:false, + has_alloc_console_with_options:false, }, }; @@ -120,6 +124,7 @@ static const wincaps wincap_10_1709 = { has_tcp_maxrtms:true, has_con_broken_tabs:true, has_user_shstk:false, + has_alloc_console_with_options:false, }, }; @@ -142,6 +147,7 @@ static const wincaps wincap_10_1803 = { has_tcp_maxrtms:true, has_con_broken_tabs:true, has_user_shstk:false, + has_alloc_console_with_options:false, }, }; @@ -164,6 +170,7 @@ static const wincaps wincap_10_1809 = { has_tcp_maxrtms:true, has_con_broken_tabs:true, has_user_shstk:false, + has_alloc_console_with_options:false, }, }; @@ -186,6 +193,7 @@ static const wincaps wincap_10_1903 = { has_tcp_maxrtms:true, has_con_broken_tabs:true, has_user_shstk:false, + has_alloc_console_with_options:false, }, }; @@ -208,6 +216,7 @@ static const wincaps wincap_10_2004 = { has_tcp_maxrtms:true, has_con_broken_tabs:true, has_user_shstk:true, + has_alloc_console_with_options:false, }, }; @@ -230,6 +239,30 @@ static const wincaps wincap_11 = { has_tcp_maxrtms:true, has_con_broken_tabs:false, has_user_shstk:true, + has_alloc_console_with_options:false, + }, +}; + +static const wincaps wincap_11_24h2 = { + { + has_new_pebteb_region:true, + has_unprivileged_createsymlink:true, + has_precise_interrupt_time:true, + has_posix_unlink_semantics:true, + has_posix_unlink_semantics_with_ignore_readonly:true, + has_case_sensitive_dirs:true, + has_posix_rename_semantics:true, + has_con_24bit_colors:true, + has_con_broken_csi3j:false, + has_con_broken_il_dl:false, + has_con_esc_rep:true, + has_extended_mem_api:true, + has_tcp_fastopen:true, + has_linux_tcp_keepalive_sockopts:true, + has_tcp_maxrtms:true, + has_con_broken_tabs:false, + has_user_shstk:true, + has_alloc_console_with_options:true, }, }; @@ -264,7 +297,9 @@ wincapc::init () break; case 10: default: - if (likely (version.dwBuildNumber >= 22000)) + if (likely (version.dwBuildNumber >= 26100)) + caps = &wincap_11_24h2; + else if (version.dwBuildNumber >= 22000) caps = &wincap_11; else if (version.dwBuildNumber >= 19041) caps = &wincap_10_2004;
