From 9258ea5b0d6441c94cc5dac12eaf03c5f0eccebd Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 16 Jul 2025 17:49:10 +0000 Subject: [PATCH] msys2-runtime: update to 3.6.4-1 Signed-off-by: Johannes Schindelin --- msys2-runtime/0001-Add-MSYS2-triplet.patch | 849 ------------------ ...ys-library-name-in-import-libraries.patch} | 4 +- ...0002-Rename-dll-from-cygwin-to-msys.patch} | 62 +- ...-for-converting-UNIX-paths-in-argum.patch} | 14 +- ...-for-changing-OS-name-via-MSYSTEM-e.patch} | 4 +- ...-Change-sorting-mount-points.-By-de.patch} | 6 +- ...ng-Cygwin-symlinks-use-deep-copy-by.patch} | 10 +- ...ly-rewrite-TERM-msys-to-TERM-cygwin.patch} | 4 +- ...-not-convert-environment-for-strace.patch} | 6 +- ...009-strace.cc-Don-t-set-MSYS-noglob.patch} | 4 +- ...ugging-for-strace-make_command_line.patch} | 4 +- ...> 0011-strace-quiet-be-really-quiet.patch} | 4 +- ...-case-root-directory-to-have-traili.patch} | 6 +- ...o-a-Unix-path-avoid-double-trailing.patch} | 4 +- ...th_conv-pass-PC_NOFULL-to-path_conv.patch} | 4 +- ...ntroduce-ability-to-switch-off-conv.patch} | 4 +- ...c-Untangle-allow_glob-from-winshell.patch} | 4 +- ...Don-t-quote-literal-strings-differe.patch} | 4 +- ...> 0018-Add-debugging-for-build_argv.patch} | 4 +- ...cility-environment-variable-MSYS2_E.patch} | 10 +- ...duce-the-enable_pcon-value-for-MSYS.patch} | 4 +- ...n-call-usr-bin-sh-instead-of-bin-sh.patch} | 4 +- ...nd-lines-to-other-Win32-processes-b.patch} | 4 +- ...btain-a-function-s-address-in-kerne.patch} | 4 +- ...enerateConsoleCtrlEvent-upon-Ctrl-C.patch} | 8 +- ...ll-kill-Win32-processes-more-gently.patch} | 4 +- ...tion-for-native-inner-link-handling.patch} | 8 +- ...skip-building-texinfo-and-PDF-files.patch} | 4 +- ...install-libs-depend-on-the-toollibs.patch} | 8 +- ...> 0029-POSIX-ify-the-SHELL-variable.patch} | 4 +- ...Handle-ORIGINAL_PATH-just-like-PATH.patch} | 4 +- ...w-setting-the-system-name-to-CYGWIN.patch} | 4 +- ...ronment-variables-with-empty-values.patch} | 4 +- ...llow-empty-environment-values-again.patch} | 4 +- ...spect-the-MSYS-environment-variable.patch} | 4 +- ...ble-dynamicbase-on-the-Cygwin-DLL-b.patch} | 8 +- ...ing-cygheaps-across-Cygwin-versions.patch} | 6 +- ...eport-msys2-runtime-commit-hash-too.patch} | 8 +- ...-magic-to-accommodate-for-the-lates.patch} | 8 +- ...dle-8-bit-characters-under-LOCALE-C.patch} | 6 +- ...remely-useful-small_printf-function.patch} | 4 +- ...path-converting-with-non-ascii-char.patch} | 4 +- ...inks-to-non-existing-targets-in-nat.patch} | 10 +- ...e-paths-WCS-MBS-conversion-explicit.patch} | 32 +- ...=> 0044-Use-MB_CUR_MAX-6-by-default.patch} | 4 +- ...the-default-base-address-for-x86_64.patch} | 4 +- ...tore-fast-path-for-current-user-pri.patch} | 4 +- ...ompatibility-with-w32api-headers-v13.patch | 86 -- ...0049-symlink_native-allow-linking-to.patch | 62 -- .../0050-pipe-fix-SSH-hang-again.patch | 206 ----- .../0051-fixup-pipe-fix-SSH-hang-again.patch | 26 - ...SSH-hang-with-non-cygwin-pipe-reader.patch | 111 --- ...te-source-comment-align-with-previou.patch | 109 --- ...-pipe_data_available-return-PDA_UNKN.patch | 135 --- ...et-ENABLE_PROCESSED_INPUT-when-disab.patch | 47 - ...all-set_input_mode-after-changing-di.patch | 74 -- msys2-runtime/PKGBUILD | 314 +++---- msys2-runtime/msys2-runtime.commit | 2 +- 58 files changed, 317 insertions(+), 2036 deletions(-) delete mode 100644 msys2-runtime/0001-Add-MSYS2-triplet.patch rename msys2-runtime/{0002-Fix-msys-library-name-in-import-libraries.patch => 0001-Fix-msys-library-name-in-import-libraries.patch} (87%) rename msys2-runtime/{0003-Rename-dll-from-cygwin-to-msys.patch => 0002-Rename-dll-from-cygwin-to-msys.patch} (95%) rename msys2-runtime/{0004-Add-functionality-for-converting-UNIX-paths-in-argum.patch => 0003-Add-functionality-for-converting-UNIX-paths-in-argum.patch} (99%) rename msys2-runtime/{0005-Add-functionality-for-changing-OS-name-via-MSYSTEM-e.patch => 0004-Add-functionality-for-changing-OS-name-via-MSYSTEM-e.patch} (98%) rename msys2-runtime/{0006-Move-root-to-usr.-Change-sorting-mount-points.-By-de.patch => 0005-Move-root-to-usr.-Change-sorting-mount-points.-By-de.patch} (98%) rename msys2-runtime/{0007-Instead-of-creating-Cygwin-symlinks-use-deep-copy-by.patch => 0006-Instead-of-creating-Cygwin-symlinks-use-deep-copy-by.patch} (97%) rename msys2-runtime/{0008-Automatically-rewrite-TERM-msys-to-TERM-cygwin.patch => 0007-Automatically-rewrite-TERM-msys-to-TERM-cygwin.patch} (90%) rename msys2-runtime/{0009-Do-not-convert-environment-for-strace.patch => 0008-Do-not-convert-environment-for-strace.patch} (88%) rename msys2-runtime/{0010-strace.cc-Don-t-set-MSYS-noglob.patch => 0009-strace.cc-Don-t-set-MSYS-noglob.patch} (95%) rename msys2-runtime/{0011-Add-debugging-for-strace-make_command_line.patch => 0010-Add-debugging-for-strace-make_command_line.patch} (82%) rename msys2-runtime/{0012-strace-quiet-be-really-quiet.patch => 0011-strace-quiet-be-really-quiet.patch} (92%) rename msys2-runtime/{0013-path_conv-special-case-root-directory-to-have-traili.patch => 0012-path_conv-special-case-root-directory-to-have-traili.patch} (92%) rename msys2-runtime/{0014-When-converting-to-a-Unix-path-avoid-double-trailing.patch => 0013-When-converting-to-a-Unix-path-avoid-double-trailing.patch} (90%) rename msys2-runtime/{0015-msys2_path_conv-pass-PC_NOFULL-to-path_conv.patch => 0014-msys2_path_conv-pass-PC_NOFULL-to-path_conv.patch} (92%) rename msys2-runtime/{0016-path-conversion-Introduce-ability-to-switch-off-conv.patch => 0015-path-conversion-Introduce-ability-to-switch-off-conv.patch} (94%) rename msys2-runtime/{0017-dcrt0.cc-Untangle-allow_glob-from-winshell.patch => 0016-dcrt0.cc-Untangle-allow_glob-from-winshell.patch} (95%) rename msys2-runtime/{0018-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch => 0017-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch} (94%) rename msys2-runtime/{0019-Add-debugging-for-build_argv.patch => 0018-Add-debugging-for-build_argv.patch} (83%) rename msys2-runtime/{0020-environ.cc-New-facility-environment-variable-MSYS2_E.patch => 0019-environ.cc-New-facility-environment-variable-MSYS2_E.patch} (96%) rename msys2-runtime/{0021-Introduce-the-enable_pcon-value-for-MSYS.patch => 0020-Introduce-the-enable_pcon-value-for-MSYS.patch} (93%) rename msys2-runtime/{0022-popen-call-usr-bin-sh-instead-of-bin-sh.patch => 0021-popen-call-usr-bin-sh-instead-of-bin-sh.patch} (90%) rename msys2-runtime/{0023-Expose-full-command-lines-to-other-Win32-processes-b.patch => 0022-Expose-full-command-lines-to-other-Win32-processes-b.patch} (94%) rename msys2-runtime/{0024-Add-a-helper-to-obtain-a-function-s-address-in-kerne.patch => 0023-Add-a-helper-to-obtain-a-function-s-address-in-kerne.patch} (98%) rename msys2-runtime/{0025-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch => 0024-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch} (98%) rename msys2-runtime/{0026-kill-kill-Win32-processes-more-gently.patch => 0025-kill-kill-Win32-processes-more-gently.patch} (92%) rename msys2-runtime/{0027-Cygwin-make-option-for-native-inner-link-handling.patch => 0026-Cygwin-make-option-for-native-inner-link-handling.patch} (91%) rename msys2-runtime/{0028-docs-skip-building-texinfo-and-PDF-files.patch => 0027-docs-skip-building-texinfo-and-PDF-files.patch} (94%) rename msys2-runtime/{0029-install-libs-depend-on-the-toollibs.patch => 0028-install-libs-depend-on-the-toollibs.patch} (80%) rename msys2-runtime/{0030-POSIX-ify-the-SHELL-variable.patch => 0029-POSIX-ify-the-SHELL-variable.patch} (97%) rename msys2-runtime/{0031-Handle-ORIGINAL_PATH-just-like-PATH.patch => 0030-Handle-ORIGINAL_PATH-just-like-PATH.patch} (95%) rename msys2-runtime/{0032-uname-allow-setting-the-system-name-to-CYGWIN.patch => 0031-uname-allow-setting-the-system-name-to-CYGWIN.patch} (95%) rename msys2-runtime/{0033-Pass-environment-variables-with-empty-values.patch => 0032-Pass-environment-variables-with-empty-values.patch} (92%) rename msys2-runtime/{0034-Optionally-disallow-empty-environment-values-again.patch => 0033-Optionally-disallow-empty-environment-values-again.patch} (94%) rename msys2-runtime/{0035-build_env-respect-the-MSYS-environment-variable.patch => 0034-build_env-respect-the-MSYS-environment-variable.patch} (88%) rename msys2-runtime/{0036-Revert-Cygwin-Enable-dynamicbase-on-the-Cygwin-DLL-b.patch => 0035-Revert-Cygwin-Enable-dynamicbase-on-the-Cygwin-DLL-b.patch} (80%) rename msys2-runtime/{0037-Avoid-sharing-cygheaps-across-Cygwin-versions.patch => 0036-Avoid-sharing-cygheaps-across-Cygwin-versions.patch} (97%) rename msys2-runtime/{0038-uname-report-msys2-runtime-commit-hash-too.patch => 0037-uname-report-msys2-runtime-commit-hash-too.patch} (96%) rename msys2-runtime/{0039-Cygwin-Adjust-CWD-magic-to-accommodate-for-the-lates.patch => 0038-Cygwin-Adjust-CWD-magic-to-accommodate-for-the-lates.patch} (92%) rename msys2-runtime/{0040-Handle-8-bit-characters-under-LOCALE-C.patch => 0039-Handle-8-bit-characters-under-LOCALE-C.patch} (85%) rename msys2-runtime/{0041-Mention-the-extremely-useful-small_printf-function.patch => 0040-Mention-the-extremely-useful-small_printf-function.patch} (89%) rename msys2-runtime/{0042-Fixed-path-converting-with-non-ascii-char.patch => 0041-Fixed-path-converting-with-non-ascii-char.patch} (89%) rename msys2-runtime/{0043-Allow-native-symlinks-to-non-existing-targets-in-nat.patch => 0042-Allow-native-symlinks-to-non-existing-targets-in-nat.patch} (93%) rename msys2-runtime/{0044-Make-paths-WCS-MBS-conversion-explicit.patch => 0043-Make-paths-WCS-MBS-conversion-explicit.patch} (96%) rename msys2-runtime/{0045-Use-MB_CUR_MAX-6-by-default.patch => 0044-Use-MB_CUR_MAX-6-by-default.patch} (90%) rename msys2-runtime/{0046-Change-the-default-base-address-for-x86_64.patch => 0045-Change-the-default-base-address-for-x86_64.patch} (92%) rename msys2-runtime/{0047-msys2-runtime-restore-fast-path-for-current-user-pri.patch => 0046-msys2-runtime-restore-fast-path-for-current-user-pri.patch} (97%) delete mode 100644 msys2-runtime/0048-Cygwin-Fix-compatibility-with-w32api-headers-v13.patch delete mode 100644 msys2-runtime/0049-symlink_native-allow-linking-to.patch delete mode 100644 msys2-runtime/0050-pipe-fix-SSH-hang-again.patch delete mode 100644 msys2-runtime/0051-fixup-pipe-fix-SSH-hang-again.patch delete mode 100644 msys2-runtime/0052-Cygwin-pipe-Fix-SSH-hang-with-non-cygwin-pipe-reader.patch delete mode 100644 msys2-runtime/0053-Cygwin-pipe-Update-source-comment-align-with-previou.patch delete mode 100644 msys2-runtime/0054-Cygwin-pipe-Make-pipe_data_available-return-PDA_UNKN.patch delete mode 100644 msys2-runtime/0055-Cygwin-console-Set-ENABLE_PROCESSED_INPUT-when-disab.patch delete mode 100644 msys2-runtime/0056-Cygwin-console-Call-set_input_mode-after-changing-di.patch diff --git a/msys2-runtime/0001-Add-MSYS2-triplet.patch b/msys2-runtime/0001-Add-MSYS2-triplet.patch deleted file mode 100644 index 605643a5fce..00000000000 --- a/msys2-runtime/0001-Add-MSYS2-triplet.patch +++ /dev/null @@ -1,849 +0,0 @@ -From f51657ba5f587a296c90c4a14d002a21a1f57094 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B8=CC=86=20=D0=9F?= - =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=BE=D0=B2?= -Date: Sun, 14 Apr 2019 20:40:45 +0300 -Subject: [PATCH 01/N] Add MSYS2 triplet - ---- - compile | 4 ++-- - config.guess | 3 +++ - config.rpath | 8 +++---- - config/dfp.m4 | 3 ++- - config/elf.m4 | 2 +- - config/lthostflags.m4 | 2 +- - config/mmap.m4 | 4 ++-- - config/picflag.m4 | 2 ++ - config/tcl.m4 | 4 ++-- - configure | 22 +++++++++--------- - configure.ac | 20 ++++++++--------- - libtool.m4 | 36 +++++++++++++++++------------- - ltmain.sh | 52 +++++++++++++++++++++---------------------- - ltoptions.m4 | 2 +- - newlib/configure | 2 +- - newlib/configure.host | 8 +++---- - 16 files changed, 93 insertions(+), 81 deletions(-) - -diff --git a/compile b/compile -index a85b723..a4ecdb2 100755 ---- a/compile -+++ b/compile -@@ -53,7 +53,7 @@ func_file_conv () - MINGW*) - file_conv=mingw - ;; -- CYGWIN*) -+ CYGWIN*|MSYS*) - file_conv=cygwin - ;; - *) -@@ -67,7 +67,7 @@ func_file_conv () - mingw/*) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; -- cygwin/*) -+ cygwin/*|msys/*) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine/*) -diff --git a/config.guess b/config.guess -index 1972fda..a922fa3 100755 ---- a/config.guess -+++ b/config.guess -@@ -914,6 +914,9 @@ EOF - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-pc-cygwin - exit ;; -+ amd64:MSYS*:*:* | x86_64:MSYS*:*:*) -+ echo x86_64-unknown-msys -+ exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" - exit ;; -diff --git a/config.rpath b/config.rpath -index 4dea759..4f12c27 100755 ---- a/config.rpath -+++ b/config.rpath -@@ -109,7 +109,7 @@ hardcode_direct=no - hardcode_minus_L=no - - case "$host_os" in -- cygwin* | mingw* | pw32*) -+ cygwin* | msys* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. -@@ -149,7 +149,7 @@ if test "$with_gnu_ld" = yes; then - ld_shlibs=no - fi - ;; -- cygwin* | mingw* | pw32*) -+ cygwin* | msys* | mingw* | pw32*) - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' -@@ -268,7 +268,7 @@ else - ;; - bsdi4*) - ;; -- cygwin* | mingw* | pw32*) -+ cygwin* | msys* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is -@@ -437,7 +437,7 @@ case "$host_os" in - ;; - bsdi4*) - ;; -- cygwin* | mingw* | pw32*) -+ cygwin* | msys* | mingw* | pw32*) - shrext=.dll - ;; - darwin* | rhapsody*) -diff --git a/config/dfp.m4 b/config/dfp.m4 -index 5b29089..b03bcf0 100644 ---- a/config/dfp.m4 -+++ b/config/dfp.m4 -@@ -23,7 +23,8 @@ Valid choices are 'yes', 'bid', 'dpd', and 'no'.]) ;; - powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux* | \ - i?86*-*-elfiamcu | i?86*-*-gnu* | \ - i?86*-*-mingw* | x86_64*-*-mingw* | \ -- i?86*-*-cygwin* | x86_64*-*-cygwin*) -+ i?86*-*-cygwin* | x86_64*-*-cygwin* | \ -+ i?86*-*-msys* | x86_64*-*-msys*) - enable_decimal_float=yes - ;; - *) -diff --git a/config/elf.m4 b/config/elf.m4 -index 5f5cd88..b8491de 100644 ---- a/config/elf.m4 -+++ b/config/elf.m4 -@@ -15,7 +15,7 @@ AC_REQUIRE([AC_CANONICAL_TARGET]) - - target_elf=no - case $target in -- *-darwin* | *-aix* | *-cygwin* | *-mingw* | *-aout* | *-*coff* | \ -+ *-darwin* | *-aix* | *-cygwin* | *-msys* | *-mingw* | *-aout* | *-*coff* | \ - *-msdosdjgpp* | *-vms* | *-wince* | *-*-pe* | \ - alpha*-dec-osf* | hppa[[12]]*-*-hpux* | \ - nvptx-*-none) -diff --git a/config/lthostflags.m4 b/config/lthostflags.m4 -index bc0f59e..ad977d4 100644 ---- a/config/lthostflags.m4 -+++ b/config/lthostflags.m4 -@@ -13,7 +13,7 @@ AC_DEFUN([ACX_LT_HOST_FLAGS], [ - AC_REQUIRE([AC_CANONICAL_SYSTEM]) - - case $host in -- *-cygwin* | *-mingw*) -+ *-cygwin* | *-msys* | *-mingw*) - # 'host' will be top-level target in the case of a target lib, - # we must compare to with_cross_host to decide if this is a native - # or cross-compiler and select where to install dlls appropriately. -diff --git a/config/mmap.m4 b/config/mmap.m4 -index fba0d9d..df2c778 100644 ---- a/config/mmap.m4 -+++ b/config/mmap.m4 -@@ -42,7 +42,7 @@ else - # Systems known to be in this category are Windows (all variants), - # VMS, and Darwin. - case "$host_os" in -- *vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00) -+ *vms* | cygwin* | msys* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00) - gcc_cv_func_mmap_dev_zero=no ;; - *) - gcc_cv_func_mmap_dev_zero=yes;; -@@ -74,7 +74,7 @@ else - # above for use of /dev/zero. - # Systems known to be in this category are Windows, VMS, and SCO Unix. - case "$host_os" in -- *vms* | cygwin* | pe | mingw* | sco* | udk* ) -+ *vms* | cygwin* | msys* | pe | mingw* | sco* | udk* ) - gcc_cv_func_mmap_anon=no ;; - *) - gcc_cv_func_mmap_anon=yes;; -diff --git a/config/picflag.m4 b/config/picflag.m4 -index 614421d..9d507ba 100644 ---- a/config/picflag.m4 -+++ b/config/picflag.m4 -@@ -25,6 +25,8 @@ case "${$2}" in - ;; - i[[34567]]86-*-cygwin* | x86_64-*-cygwin*) - ;; -+ i[[34567]]86-*-msys* | x86_64-*-msys*) -+ ;; - i[[34567]]86-*-mingw* | x86_64-*-mingw*) - ;; - i[[34567]]86-*-nto-qnx*) -diff --git a/config/tcl.m4 b/config/tcl.m4 -index 4542a4b..209bd8d 100644 ---- a/config/tcl.m4 -+++ b/config/tcl.m4 -@@ -33,7 +33,7 @@ AC_DEFUN([SC_PATH_TCLCONFIG], [ - - # First check to see if --with-tcl was specified. - case "${host}" in -- *-*-cygwin*) platDir="win" ;; -+ *-*-cygwin* | *-*-msys*) platDir="win" ;; - *) platDir="unix" ;; - esac - if test x"${with_tclconfig}" != x ; then -@@ -165,7 +165,7 @@ AC_DEFUN([SC_PATH_TKCONFIG], [ - - # then check for a private Tk library - case "${host}" in -- *-*-cygwin*) platDir="win" ;; -+ *-*-cygwin* | *-*-msys*) platDir="win" ;; - *) platDir="unix" ;; - esac - if test x"${ac_cv_c_tkconfig}" = x ; then -diff --git a/configure b/configure -index 9477153..1474838 100755 ---- a/configure -+++ b/configure -@@ -3088,7 +3088,7 @@ fi - # Configure extra directories which are host specific - - case "${host}" in -- *-cygwin*) -+ *-cygwin* | *-msys*) - configdirs="$configdirs libtermcap" ;; - esac - -@@ -3609,7 +3609,7 @@ esac - # Disable the go frontend on systems where it is known to not work. Please keep - # this in sync with contrib/config-list.mk. - case "${target}" in --*-*-darwin* | *-*-cygwin* | *-*-mingw* | *-*-aix*) -+*-*-darwin* | *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-aix*) - unsupported_languages="$unsupported_languages go" - ;; - esac -@@ -3622,7 +3622,7 @@ if test x$enable_libgo = x; then - # PR 46986 - noconfigdirs="$noconfigdirs target-libgo" - ;; -- *-*-cygwin* | *-*-mingw*) -+ *-*-cygwin* | *-*-msys* | *-*-mingw*) - noconfigdirs="$noconfigdirs target-libgo" - ;; - *-*-aix*) -@@ -3894,7 +3894,7 @@ case "${target}" in - i[3456789]86-*-mingw*) - target_configdirs="$target_configdirs target-winsup" - ;; -- *-*-cygwin*) -+ *-*-cygwin* | *-*-msys*) - target_configdirs="$target_configdirs target-libtermcap target-winsup" - noconfigdirs="$noconfigdirs target-libgloss" - # always build newlib if winsup directory is present. -@@ -4038,7 +4038,7 @@ case "${host}" in - i[3456789]86-*-msdosdjgpp*) - host_makefile_frag="config/mh-djgpp" - ;; -- *-cygwin*) -+ *-cygwin* | *-msys*) - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if cat works as expected" >&5 - $as_echo_n "checking to see if cat works as expected... " >&6; } -@@ -6206,7 +6206,7 @@ fi - - target_elf=no - case $target in -- *-darwin* | *-aix* | *-cygwin* | *-mingw* | *-aout* | *-*coff* | \ -+ *-darwin* | *-aix* | *-cygwin* | *-msys* | *-mingw* | *-aout* | *-*coff* | \ - *-msdosdjgpp* | *-vms* | *-wince* | *-*-pe* | \ - alpha*-dec-osf* | hppa[12]*-*-hpux* | \ - nvptx-*-none) -@@ -6224,7 +6224,7 @@ if test $target_elf = yes; then : - else - if test x"$default_enable_lto" = x"yes" ; then - case $target in -- *-apple-darwin9* | *-cygwin* | *-mingw* | *djgpp*) ;; -+ *-apple-darwin9* | *-cygwin* | *-msys* | *-mingw* | *djgpp*) ;; - # On other non-ELF platforms, LTO has yet to be validated. - *) enable_lto=no ;; - esac -@@ -6235,7 +6235,7 @@ else - # warn during gcc/ subconfigure; unless you're bootstrapping with - # -flto it won't be needed until after installation anyway. - case $target in -- *-cygwin* | *-mingw* | *-apple-darwin* | *djgpp*) ;; -+ *-cygwin* | *-msys* | *-mingw* | *-apple-darwin* | *djgpp*) ;; - *) if test x"$enable_lto" = x"yes"; then - as_fn_error $? "LTO support is not enabled for this target." "$LINENO" 5 - fi -@@ -6245,7 +6245,7 @@ else - # Among non-ELF, only Windows platforms support the lto-plugin so far. - # Build it unless LTO was explicitly disabled. - case $target in -- *-cygwin* | *-mingw*) build_lto_plugin=$enable_lto ;; -+ *-cygwin* | *-msys* | *-mingw*) build_lto_plugin=$enable_lto ;; - *) ;; - esac - -@@ -7130,7 +7130,7 @@ rm -f conftest* - case "${host}" in - *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;; - *-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;; -- *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;; -+ *-*-mingw* | *-*-cygwin | *-msys ) RPATH_ENVVAR=PATH ;; - *) RPATH_ENVVAR=LD_LIBRARY_PATH ;; - esac - -@@ -7648,7 +7648,7 @@ case " $target_configdirs " in - case " $target_configargs " in - *" --with-newlib "*) - case "$target" in -- *-cygwin*) -+ *-cygwin* | *-msys*) - FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -isystem $$s/winsup/cygwin/include' - ;; - esac -diff --git a/configure.ac b/configure.ac -index 05ddf69..3ed8a1b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -409,7 +409,7 @@ AC_ARG_ENABLE(compressed_debug_sections, - # Configure extra directories which are host specific - - case "${host}" in -- *-cygwin*) -+ *-cygwin* | *-msys*) - configdirs="$configdirs libtermcap" ;; - esac - -@@ -893,7 +893,7 @@ esac - # Disable the go frontend on systems where it is known to not work. Please keep - # this in sync with contrib/config-list.mk. - case "${target}" in --*-*-darwin* | *-*-cygwin* | *-*-mingw* | *-*-aix*) -+*-*-darwin* | *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-aix*) - unsupported_languages="$unsupported_languages go" - ;; - esac -@@ -906,7 +906,7 @@ if test x$enable_libgo = x; then - # PR 46986 - noconfigdirs="$noconfigdirs target-libgo" - ;; -- *-*-cygwin* | *-*-mingw*) -+ *-*-cygwin* | *-*-msys* | *-*-mingw*) - noconfigdirs="$noconfigdirs target-libgo" - ;; - *-*-aix*) -@@ -1178,7 +1178,7 @@ case "${target}" in - i[[3456789]]86-*-mingw*) - target_configdirs="$target_configdirs target-winsup" - ;; -- *-*-cygwin*) -+ *-*-cygwin* | *-*-msys*) - target_configdirs="$target_configdirs target-libtermcap target-winsup" - noconfigdirs="$noconfigdirs target-libgloss" - # always build newlib if winsup directory is present. -@@ -1322,7 +1322,7 @@ case "${host}" in - i[[3456789]]86-*-msdosdjgpp*) - host_makefile_frag="config/mh-djgpp" - ;; -- *-cygwin*) -+ *-cygwin* | *-msys*) - ACX_CHECK_CYGWIN_CAT_WORKS - host_makefile_frag="config/mh-cygwin" - ;; -@@ -1809,7 +1809,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always. - build_lto_plugin=yes - ],[if test x"$default_enable_lto" = x"yes" ; then - case $target in -- *-apple-darwin9* | *-cygwin* | *-mingw* | *djgpp*) ;; -+ *-apple-darwin9* | *-cygwin* | *-msys* | *-mingw* | *djgpp*) ;; - # On other non-ELF platforms, LTO has yet to be validated. - *) enable_lto=no ;; - esac -@@ -1820,7 +1820,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always. - # warn during gcc/ subconfigure; unless you're bootstrapping with - # -flto it won't be needed until after installation anyway. - case $target in -- *-cygwin* | *-mingw* | *-apple-darwin* | *djgpp*) ;; -+ *-cygwin* | *-msys*| *-mingw* | *-apple-darwin* | *djgpp*) ;; - *) if test x"$enable_lto" = x"yes"; then - AC_MSG_ERROR([LTO support is not enabled for this target.]) - fi -@@ -1830,7 +1830,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always. - # Among non-ELF, only Windows platforms support the lto-plugin so far. - # Build it unless LTO was explicitly disabled. - case $target in -- *-cygwin* | *-mingw*) build_lto_plugin=$enable_lto ;; -+ *-cygwin* | *-msys* | *-mingw*) build_lto_plugin=$enable_lto ;; - *) ;; - esac - ]) -@@ -2652,7 +2652,7 @@ rm -f conftest* - case "${host}" in - *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;; - *-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;; -- *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;; -+ *-*-mingw* | *-*-cygwin | *-*-msys ) RPATH_ENVVAR=PATH ;; - *) RPATH_ENVVAR=LD_LIBRARY_PATH ;; - esac - -@@ -3165,7 +3165,7 @@ case " $target_configdirs " in - case " $target_configargs " in - *" --with-newlib "*) - case "$target" in -- *-cygwin*) -+ *-cygwin* | *-msys*) - FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -isystem $$s/winsup/cygwin/include' - ;; - esac -diff --git a/libtool.m4 b/libtool.m4 -index a216bb1..0d6d17a 100644 ---- a/libtool.m4 -+++ b/libtool.m4 -@@ -1521,7 +1521,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - lt_cv_sys_max_cmd_len=-1; - ;; - -- cygwin* | mingw* | cegcc*) -+ cygwin* | msys* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, -@@ -1763,7 +1763,7 @@ else - lt_cv_dlopen_libs= - ;; - -- cygwin*) -+ cygwin* | msys*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; -@@ -2234,14 +2234,14 @@ bsdi[[45]]*) - # libtool to hard-code these into programs - ;; - --cygwin* | mingw* | pw32* | cegcc*) -+cygwin* | msys* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in -- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) -+ yes,cygwin* | yes,msys* | yes,mingw* | yes,pw32* | yes,cegcc*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ -@@ -2262,6 +2262,12 @@ cygwin* | mingw* | pw32* | cegcc*) - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' -+m4_if([$1], [],[ -+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) -+ ;; -+ msys*) -+ # Msys DLLs use 'msys-' prefix rather than 'lib' -+ soname_spec='`echo ${libname} | sed -e 's/^lib/msys-/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) - ;; -@@ -3021,7 +3027,7 @@ bsdi[[45]]*) - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - --cygwin*) -+cygwin* | msys*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' -@@ -3307,7 +3313,7 @@ AC_DEFUN([LT_LIB_M], - [AC_REQUIRE([AC_CANONICAL_HOST])dnl - LIBM= - case $host in --*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) -+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-msys* | *-*-haiku* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; - *-ncr-sysv4.3*) -@@ -3382,7 +3388,7 @@ case $host_os in - aix*) - symcode='[[BCDT]]' - ;; --cygwin* | mingw* | pw32* | cegcc*) -+cygwin* | msys* | mingw* | pw32* | cegcc*) - symcode='[[ABCDGISTW]]' - ;; - hpux*) -@@ -3629,7 +3635,7 @@ m4_if([$1], [CXX], [ - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; -- mingw* | cygwin* | os2* | pw32* | cegcc*) -+ mingw* | cygwin* | msys* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style -@@ -3942,7 +3948,7 @@ m4_if([$1], [CXX], [ - # PIC is the default for these OSes. - ;; - -- mingw* | cygwin* | pw32* | os2* | cegcc*) -+ mingw* | cygwin* | msys* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style -@@ -4025,7 +4031,7 @@ m4_if([$1], [CXX], [ - fi - ;; - -- mingw* | cygwin* | pw32* | os2* | cegcc*) -+ mingw* | cygwin* | msys* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], -@@ -4258,7 +4264,7 @@ m4_if([$1], [CXX], [ - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; -- cygwin* | mingw* | cegcc*) -+ cygwin* | msys* | mingw* | cegcc*) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - ;; - *) -@@ -4310,7 +4316,7 @@ dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - - case $host_os in -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. -@@ -4425,7 +4431,7 @@ _LT_EOF - fi - ;; - -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' -@@ -4798,7 +4804,7 @@ _LT_EOF - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is -@@ -5742,7 +5748,7 @@ if test "$_lt_caught_CXX_error" != yes; then - esac - ;; - -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' -diff --git a/ltmain.sh b/ltmain.sh -index 9503ec8..307a339 100644 ---- a/ltmain.sh -+++ b/ltmain.sh -@@ -976,7 +976,7 @@ func_enable_tag () - - - case $host in -- *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* ) -+ *cygwin* | *msys* | *mingw* | *pw32* | *cegcc* | *solaris2* ) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; -@@ -1453,7 +1453,7 @@ func_mode_compile () - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in -- cygwin* | mingw* | pw32* | os2* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | os2* | cegcc*) - pic_mode=default - ;; - esac -@@ -2279,7 +2279,7 @@ func_mode_install () - 'exit $?' - tstripme="$stripme" - case $host_os in -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme="" -@@ -2385,7 +2385,7 @@ func_mode_install () - - # Do a test to see if this is really a libtool program. - case $host in -- *cygwin* | *mingw*) -+ *cygwin* | *msys* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result -@@ -2460,7 +2460,7 @@ func_mode_install () - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in -- */usr/bin/install*,*cygwin*) -+ */usr/bin/install*,*cygwin*|*/usr/bin/install*,*msys*) - case $file:$destfile in - *.exe:*.exe) - # this is ok -@@ -2595,7 +2595,7 @@ extern \"C\" { - $RM $export_symbols - ${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' < "$nlist" > "$export_symbols" - case $host in -- *cygwin* | *mingw* | *cegcc* ) -+ *cygwin* | *msys* | *mingw* | *cegcc* ) - echo EXPORTS > "$output_objdir/$outputname.def" - cat "$export_symbols" >> "$output_objdir/$outputname.def" - ;; -@@ -2607,7 +2607,7 @@ extern \"C\" { - $GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - case $host in -- *cygwin* | *mingw* | *cegcc* ) -+ *cygwin* | *msys* | *mingw* | *cegcc* ) - echo EXPORTS > "$output_objdir/$outputname.def" - cat "$nlist" >> "$output_objdir/$outputname.def" - ;; -@@ -2663,7 +2663,7 @@ typedef struct { - } lt_dlsymlist; - " - case $host in -- *cygwin* | *mingw* | *cegcc* ) -+ *cygwin* | *msys* | *mingw* | *cegcc* ) - echo >> "$output_objdir/$my_dlsyms" "\ - /* DATA imports from DLLs on WIN32 con't be const, because - runtime relocations are performed -- see ld's documentation -@@ -2749,7 +2749,7 @@ static const void *lt_preloaded_setup() { - # Transform the symbol file into the correct name. - symfileobj="$output_objdir/${my_outputname}S.$objext" - case $host in -- *cygwin* | *mingw* | *cegcc* ) -+ *cygwin* | *msys* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` -@@ -3192,7 +3192,7 @@ func_to_host_path () - func_to_host_path_result=`( cmd //c echo "$1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` - ;; -- *cygwin* ) -+ *cygwin* | *msys* ) - func_to_host_path_result=`cygpath -w "$1" | - $SED -e "$lt_sed_naive_backslashify"` - ;; -@@ -3265,7 +3265,7 @@ func_to_host_pathlist () - ( cmd //c echo "$func_to_host_pathlist_tmp1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` - ;; -- *cygwin* ) -+ *cygwin* | *msys* ) - func_to_host_pathlist_result=`cygpath -w -p "$func_to_host_pathlist_tmp1" | - $SED -e "$lt_sed_naive_backslashify"` - ;; -@@ -3571,7 +3571,7 @@ main (int argc, char *argv[]) - { - EOF - case "$host" in -- *mingw* | *cygwin* ) -+ *mingw* | *cygwin* | *msys* ) - # make stdout use "unix" line endings - echo " setmode(1,_O_BINARY);" - ;; -@@ -4233,7 +4233,7 @@ func_mode_link () - { - $opt_debug - case $host in -- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) -+ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # which system we are compiling for in order to pass an extra -@@ -4713,7 +4713,7 @@ func_mode_link () - ;; - esac - case $host in -- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) -+ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; -@@ -4733,7 +4733,7 @@ func_mode_link () - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in -- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) -+ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) - # These systems don't actually have a C or math library (as such) - continue - ;; -@@ -4813,7 +4813,7 @@ func_mode_link () - - -no-install) - case $host in -- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) -+ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "\`-no-install' is ignored for $host" -@@ -5772,7 +5772,7 @@ func_mode_link () - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - case $host in -- *cygwin* | *mingw* | *cegcc*) -+ *cygwin* | *msys* | *mingw* | *cegcc*) - # No point in relinking DLLs because paths are not encoded - notinst_deplibs="$notinst_deplibs $lib" - need_relink=no -@@ -5842,7 +5842,7 @@ func_mode_link () - elif test -n "$soname_spec"; then - # bleh windows - case $host in -- *cygwin* | mingw* | *cegcc*) -+ *cygwin* | msys* | mingw* | *cegcc*) - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" -@@ -6693,7 +6693,7 @@ func_mode_link () - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in -- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) -+ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) -@@ -7194,7 +7194,7 @@ EOF - - orig_export_symbols= - case $host_os in -- cygwin* | mingw* | cegcc*) -+ cygwin* | msys* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - if test "x`$SED 1q $export_symbols`" != xEXPORTS; then -@@ -7710,7 +7710,7 @@ EOF - - prog) - case $host in -- *cygwin*) func_stripname '' '.exe' "$output" -+ *cygwin* | *msys*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; - esac - test -n "$vinfo" && \ -@@ -7823,7 +7823,7 @@ EOF - esac - fi - case $host in -- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) -+ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; -@@ -7901,7 +7901,7 @@ EOF - # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. - wrappers_required=no - ;; -- *cygwin* | *mingw* ) -+ *cygwin* | *msys* | *mingw* ) - if test "$build_libtool_libs" != yes; then - wrappers_required=no - fi -@@ -8029,14 +8029,14 @@ EOF - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in -- *cygwin*) -+ *cygwin* | *msys*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; - esac - case $host in -- *cygwin* | *mingw* ) -+ *cygwin* | *msys* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result -@@ -8343,7 +8343,7 @@ EOF - # tests/bindir.at for full details. - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in -- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) -+ *cygwin*,*lai,yes,no,*.dll | *msys*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) - # If a -bindir argument was supplied, place the dll there. - if test "x$bindir" != x ; - then -diff --git a/ltoptions.m4 b/ltoptions.m4 -index 5ef12ce..5e7bc34 100644 ---- a/ltoptions.m4 -+++ b/ltoptions.m4 -@@ -126,7 +126,7 @@ LT_OPTION_DEFINE([LT_INIT], [win32-dll], - [enable_win32_dll=yes - - case $host in --*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) -+*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) -diff --git a/newlib/configure b/newlib/configure -index 33a2ed1..bffba59 100755 ---- a/newlib/configure -+++ b/newlib/configure -@@ -4323,7 +4323,7 @@ else - fi - - --ac_ext=c -+:cn - ac_cpp='$CPP $CPPFLAGS' - ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' - ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -diff --git a/newlib/configure.host b/newlib/configure.host -index c43cfcf..dd94a40 100644 ---- a/newlib/configure.host -+++ b/newlib/configure.host -@@ -199,7 +199,7 @@ case "${host_cpu}" in - shared_machine_dir=shared_x86 - # Don't use for these since they provide their own setjmp. - case ${host} in -- *-*-sco* | *-*-cygwin*) -+ *-*-sco* | *-*-cygwin* | *-*-msys*) - ;; - *) - mach_add_setjmp=true -@@ -411,7 +411,7 @@ fi - - if [ "x${newlib_mb}" = "x" ]; then - case "${host}" in -- *-*-cygwin*) -+ *-*-cygwin*|*-*-msys*) - newlib_mb=yes - ;; - esac -@@ -430,7 +430,7 @@ fi - # THIS TABLE IS ALPHA SORTED. KEEP IT THAT WAY. - - case "${host}" in -- *-*-cygwin*) -+ *-*-cygwin* | *-*-msys*) - posix_dir=posix - xdr_dir=xdr - ;; -@@ -599,7 +599,7 @@ esac - # THIS TABLE IS ALPHA SORTED. KEEP IT THAT WAY. - - case "${host}" in -- *-*-cygwin*) -+ *-*-cygwin* | *-*-msys*) - test -z "$cygwin_srcdir" && cygwin_srcdir="${abs_newlib_basedir}/../winsup/cygwin" - export cygwin_srcdir - default_newlib_io_c99_formats="yes" diff --git a/msys2-runtime/0002-Fix-msys-library-name-in-import-libraries.patch b/msys2-runtime/0001-Fix-msys-library-name-in-import-libraries.patch similarity index 87% rename from msys2-runtime/0002-Fix-msys-library-name-in-import-libraries.patch rename to msys2-runtime/0001-Fix-msys-library-name-in-import-libraries.patch index ab69033eda0..1ae91ac7e59 100644 --- a/msys2-runtime/0002-Fix-msys-library-name-in-import-libraries.patch +++ b/msys2-runtime/0001-Fix-msys-library-name-in-import-libraries.patch @@ -1,7 +1,7 @@ -From 3155a8c5f98e97692a6d1dd0047e9ca0dd4c3030 Mon Sep 17 00:00:00 2001 +From b662426d796ad9fa7593f17840f49282835fa876 Mon Sep 17 00:00:00 2001 From: Kaleb Barrett Date: Sun, 14 Mar 2021 18:58:55 -0500 -Subject: [PATCH 02/N] Fix msys library name in import libraries +Subject: [PATCH 01/N] Fix msys library name in import libraries Cygwin's speclib doesn't handle dashes or dots. However, we are about to rename the output file name from `cygwin1.dll` to `msys-2.0.dll`. diff --git a/msys2-runtime/0003-Rename-dll-from-cygwin-to-msys.patch b/msys2-runtime/0002-Rename-dll-from-cygwin-to-msys.patch similarity index 95% rename from msys2-runtime/0003-Rename-dll-from-cygwin-to-msys.patch rename to msys2-runtime/0002-Rename-dll-from-cygwin-to-msys.patch index 542a6bd7e00..5ece20f32a3 100644 --- a/msys2-runtime/0003-Rename-dll-from-cygwin-to-msys.patch +++ b/msys2-runtime/0002-Rename-dll-from-cygwin-to-msys.patch @@ -1,8 +1,8 @@ -From d9b4e1decb9999a9e1577eafeea8ae337d44924b Mon Sep 17 00:00:00 2001 +From 50d9d80db4a6a941a03d99d82afb760c4ab4101f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B8=CC=86=20=D0=9F?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=BE=D0=B2?= Date: Sun, 14 Apr 2019 21:09:17 +0300 -Subject: [PATCH 03/N] Rename dll from cygwin to msys +Subject: [PATCH 02/N] Rename dll from cygwin to msys --- winsup/cygserver/transport_pipes.h | 4 +++ @@ -16,7 +16,7 @@ Subject: [PATCH 03/N] Rename dll from cygwin to msys winsup/cygwin/dtable.cc | 6 +++++ winsup/cygwin/exceptions.cc | 4 +-- winsup/cygwin/fhandler/pipe.cc | 4 +++ - winsup/cygwin/fhandler/pty.cc | 20 ++++++++++++++ + winsup/cygwin/fhandler/pty.cc | 26 ++++++++++++++++++ winsup/cygwin/hookapi.cc | 4 +++ winsup/cygwin/include/cygwin/cygwin_dll.h | 10 +++---- winsup/cygwin/include/cygwin/version.h | 8 ++++++ @@ -38,7 +38,7 @@ Subject: [PATCH 03/N] Rename dll from cygwin to msys winsup/utils/mingw/strace.cc | 9 +++---- winsup/utils/path.cc | 12 ++++----- winsup/utils/ssp.c | 8 +++--- - 33 files changed, 174 insertions(+), 72 deletions(-) + 33 files changed, 180 insertions(+), 72 deletions(-) diff --git a/winsup/cygserver/transport_pipes.h b/winsup/cygserver/transport_pipes.h index e101623..66272bc 100644 @@ -57,7 +57,7 @@ index e101623..66272bc 100644 /* Named pipes based transport, for security on NT */ diff --git a/winsup/cygwin/Makefile.am b/winsup/cygwin/Makefile.am -index d47a1a2..c1f9921 100644 +index 383f4f3..981877d 100644 --- a/winsup/cygwin/Makefile.am +++ b/winsup/cygwin/Makefile.am @@ -37,12 +37,12 @@ newlib_build=$(target_builddir)/newlib @@ -78,7 +78,7 @@ index d47a1a2..c1f9921 100644 # # sources -@@ -587,16 +587,16 @@ LIBSERVER = $(cygserver_blddir)/libcygserver.a +@@ -589,16 +589,16 @@ LIBSERVER = $(cygserver_blddir)/libcygserver.a $(LIBSERVER): $(MAKE) -C $(cygserver_blddir) libcygserver.a @@ -98,7 +98,7 @@ index d47a1a2..c1f9921 100644 # Set PE and export table header timestamps to zero for reproducible builds. $(NEW_DLL_NAME): $(LDSCRIPT) libdll.a $(VERSION_OFILES) $(LIBSERVER)\ $(newlib_build)/libm.a $(newlib_build)/libc.a -@@ -605,18 +605,18 @@ $(NEW_DLL_NAME): $(LDSCRIPT) libdll.a $(VERSION_OFILES) $(LIBSERVER)\ +@@ -607,18 +607,18 @@ $(NEW_DLL_NAME): $(LDSCRIPT) libdll.a $(VERSION_OFILES) $(LIBSERVER)\ -Wl,--gc-sections -nostdlib -Wl,-T$(LDSCRIPT) \ -Wl,--dynamicbase -static \ $${SOURCE_DATE_EPOCH:+-Wl,--no-insert-timestamp} \ @@ -120,7 +120,7 @@ index d47a1a2..c1f9921 100644 toolopts=--cpu=@target_cpu@ --ar=@AR@ --as=@AS@ --nm=@NM@ --objcopy=@OBJCOPY@ $(DEF_FILE): scripts/gendef cygwin.din -@@ -629,13 +629,14 @@ sigfe.s: $(DEF_FILE) tlsoffsets +@@ -631,13 +631,14 @@ sigfe.s: $(DEF_FILE) tlsoffsets LIBCOS=$(addsuffix .o,$(basename $(LIB_FILES))) $(LIB_NAME): $(DEF_FILE) $(LIBCOS) | $(NEW_DLL_NAME) @@ -136,7 +136,7 @@ index d47a1a2..c1f9921 100644 --exclude='(?i:dll)' \ --exclude='reloc' \ --exclude='^main$$' \ -@@ -685,7 +686,7 @@ all-local: $(LIB_NAME) $(SUBLIBS) +@@ -687,7 +688,7 @@ all-local: $(LIB_NAME) $(SUBLIBS) clean-local: -rm -f $(BUILT_SOURCES) -rm -f $(DEF_FILE) sigfe.s @@ -223,10 +223,10 @@ index f4c09be..e19b7d3 100644 static int _fmode; diff --git a/winsup/cygwin/dlfcn.cc b/winsup/cygwin/dlfcn.cc -index 9b6bb55..2d0bae5 100644 +index e06616d..40d99dd 100644 --- a/winsup/cygwin/dlfcn.cc +++ b/winsup/cygwin/dlfcn.cc -@@ -147,8 +147,13 @@ collect_basenames (pathfinder::basenamelist & basenames, +@@ -148,8 +148,13 @@ collect_basenames (pathfinder::basenamelist & basenames, /* If the basename starts with "lib", ... */ if (!strncmp (basename, "lib", 3)) { @@ -277,7 +277,7 @@ index 7303f7e..6ccc19a 100644 w32len = cygheap->installation_key.Length / sizeof (WCHAR); if (w32len diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc -index 876b79e..466abdd 100644 +index f79978f..e724e37 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -528,14 +528,14 @@ int exec_prepared_command (PWCHAR command) @@ -298,10 +298,10 @@ index 876b79e..466abdd 100644 break; } diff --git a/winsup/cygwin/fhandler/pipe.cc b/winsup/cygwin/fhandler/pipe.cc -index e35d523..506dd09 100644 +index 2ff5dfa..11ef78c 100644 --- a/winsup/cygwin/fhandler/pipe.cc +++ b/winsup/cygwin/fhandler/pipe.cc -@@ -790,7 +790,11 @@ fhandler_pipe::close (int flag) +@@ -798,7 +798,11 @@ fhandler_pipe::close (int flag) return ret; } @@ -314,10 +314,10 @@ index e35d523..506dd09 100644 /* Create a pipe, and return handles to the read and write ends, just like CreatePipe, but ensure that the write end permits diff --git a/winsup/cygwin/fhandler/pty.cc b/winsup/cygwin/fhandler/pty.cc -index 3128b92..0969b2f 100644 +index 36fddbb..8154fcc 100644 --- a/winsup/cygwin/fhandler/pty.cc +++ b/winsup/cygwin/fhandler/pty.cc -@@ -875,7 +875,11 @@ fhandler_pty_slave::open (int flags, mode_t) +@@ -882,7 +882,11 @@ fhandler_pty_slave::open (int flags, mode_t) pipe_reply repl; DWORD len; @@ -329,7 +329,7 @@ index 3128b92..0969b2f 100644 &cygheap->installation_key, get_minor ()); termios_printf ("dup handles via master control pipe %s", buf); if (!CallNamedPipe (buf, &req, sizeof req, &repl, sizeof repl, -@@ -1137,7 +1141,11 @@ fhandler_pty_slave::reset_switch_to_nat_pipe (void) +@@ -1144,7 +1148,11 @@ fhandler_pty_slave::reset_switch_to_nat_pipe (void) { char pipe[MAX_PATH]; __small_sprintf (pipe, @@ -339,9 +339,25 @@ index 3128b92..0969b2f 100644 "\\\\.\\pipe\\cygwin-%S-pty%d-master-ctl", +#endif &cygheap->installation_key, get_minor ()); - pipe_request req = { GetCurrentProcessId () }; + pipe_request req = { GET_HANDLES, GetCurrentProcessId () }; pipe_reply repl; -@@ -2024,7 +2032,11 @@ fhandler_pty_master::close (int flag) +@@ -1605,9 +1613,15 @@ fhandler_pty_slave::tcflush (int queue) + if (queue == TCIFLUSH || queue == TCIOFLUSH) + { + char pipe[MAX_PATH]; ++#ifdef __MSYS__ ++ __small_sprintf (pipe, ++ "\\\\.\\pipe\\msys-%S-pty%d-master-ctl", ++ &cygheap->installation_key, get_minor ()); ++#else + __small_sprintf (pipe, + "\\\\.\\pipe\\cygwin-%S-pty%d-master-ctl", + &cygheap->installation_key, get_minor ()); ++#endif + pipe_request req = { FLUSH_INPUT, GetCurrentProcessId () }; + pipe_reply repl; + DWORD n; +@@ -2039,7 +2053,11 @@ fhandler_pty_master::close (int flag) pipe_reply repl; DWORD len; @@ -353,7 +369,7 @@ index 3128b92..0969b2f 100644 &cygheap->installation_key, get_minor ()); acquire_output_mutex (mutex_timeout); if (master_ctl) -@@ -2930,7 +2942,11 @@ fhandler_pty_master::setup () +@@ -2950,7 +2968,11 @@ fhandler_pty_master::setup () /* Create master control pipe which allows the master to duplicate the pty pipe handles to processes which deserve it. */ @@ -365,7 +381,7 @@ index 3128b92..0969b2f 100644 &cygheap->installation_key, unit); master_ctl = CreateNamedPipe (buf, PIPE_ACCESS_DUPLEX | FILE_FLAG_FIRST_PIPE_INSTANCE, -@@ -3819,7 +3835,11 @@ fhandler_pty_slave::transfer_input (tty::xfer_dir dir, HANDLE from, tty *ttyp, +@@ -3840,7 +3862,11 @@ fhandler_pty_slave::transfer_input (tty::xfer_dir dir, HANDLE from, tty *ttyp, { char pipe[MAX_PATH]; __small_sprintf (pipe, @@ -375,7 +391,7 @@ index 3128b92..0969b2f 100644 "\\\\.\\pipe\\cygwin-%S-pty%d-master-ctl", +#endif &cygheap->installation_key, ttyp->get_minor ()); - pipe_request req = { GetCurrentProcessId () }; + pipe_request req = { GET_HANDLES, GetCurrentProcessId () }; pipe_reply repl; diff --git a/winsup/cygwin/hookapi.cc b/winsup/cygwin/hookapi.cc index ee2edba..9f31a71 100644 @@ -436,7 +452,7 @@ index 1e4cf98..b77598b 100644 } \ } \ diff --git a/winsup/cygwin/include/cygwin/version.h b/winsup/cygwin/include/cygwin/version.h -index 961a98c..aafb811 100644 +index 89c1e1f..b85e8c3 100644 --- a/winsup/cygwin/include/cygwin/version.h +++ b/winsup/cygwin/include/cygwin/version.h @@ -510,7 +510,11 @@ details. */ diff --git a/msys2-runtime/0004-Add-functionality-for-converting-UNIX-paths-in-argum.patch b/msys2-runtime/0003-Add-functionality-for-converting-UNIX-paths-in-argum.patch similarity index 99% rename from msys2-runtime/0004-Add-functionality-for-converting-UNIX-paths-in-argum.patch rename to msys2-runtime/0003-Add-functionality-for-converting-UNIX-paths-in-argum.patch index 4cec2e18c69..ebf4c058930 100644 --- a/msys2-runtime/0004-Add-functionality-for-converting-UNIX-paths-in-argum.patch +++ b/msys2-runtime/0003-Add-functionality-for-converting-UNIX-paths-in-argum.patch @@ -1,8 +1,8 @@ -From 02128e4ad21c12aba2edbc183518f9de44750f47 Mon Sep 17 00:00:00 2001 +From f95036ca2c8c6275eb073914b6ceb80f99800c9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B8=CC=86=20=D0=9F?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=BE=D0=B2?= Date: Sun, 14 Apr 2019 21:17:46 +0300 -Subject: [PATCH 04/N] Add functionality for converting UNIX paths in +Subject: [PATCH 03/N] Add functionality for converting UNIX paths in arguments and environment variables to Windows form for native Win32 applications. @@ -22,10 +22,10 @@ Subject: [PATCH 04/N] Add functionality for converting UNIX paths in create mode 100644 winsup/cygwin/msys2_path_conv.h diff --git a/winsup/cygwin/Makefile.am b/winsup/cygwin/Makefile.am -index c1f9921..f3662b9 100644 +index 981877d..54ae637 100644 --- a/winsup/cygwin/Makefile.am +++ b/winsup/cygwin/Makefile.am -@@ -312,6 +312,7 @@ DLL_FILES= \ +@@ -314,6 +314,7 @@ DLL_FILES= \ miscfuncs.cc \ mktemp.cc \ msg.cc \ @@ -999,7 +999,7 @@ index 0000000..67d85ec +#endif /* end of include guard: PATH_CONV_H_DB4IQBH3 */ + diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc -index 42919a7..cb01afc 100644 +index ed08398..8ef347c 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -66,6 +66,7 @@ @@ -1010,7 +1010,7 @@ index 42919a7..cb01afc 100644 #undef basename suffix_info stat_suffixes[] = -@@ -3884,6 +3885,74 @@ fchdir (int fd) +@@ -3895,6 +3896,74 @@ fchdir (int fd) return res; } @@ -1086,7 +1086,7 @@ index 42919a7..cb01afc 100644 /* Cover functions to the path conversion routines. diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc -index ef175e7..33a947d 100644 +index cb58b6e..3ff2187 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -286,6 +286,27 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, diff --git a/msys2-runtime/0005-Add-functionality-for-changing-OS-name-via-MSYSTEM-e.patch b/msys2-runtime/0004-Add-functionality-for-changing-OS-name-via-MSYSTEM-e.patch similarity index 98% rename from msys2-runtime/0005-Add-functionality-for-changing-OS-name-via-MSYSTEM-e.patch rename to msys2-runtime/0004-Add-functionality-for-changing-OS-name-via-MSYSTEM-e.patch index d90cebb034a..c5607982d54 100644 --- a/msys2-runtime/0005-Add-functionality-for-changing-OS-name-via-MSYSTEM-e.patch +++ b/msys2-runtime/0004-Add-functionality-for-changing-OS-name-via-MSYSTEM-e.patch @@ -1,8 +1,8 @@ -From f5641c9f116e711014cce0b034c46577e76fdc50 Mon Sep 17 00:00:00 2001 +From 10bdfe7d2cde9d14411e141ed9837c1904c57496 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B8=CC=86=20=D0=9F?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=BE=D0=B2?= Date: Sun, 14 Apr 2019 21:29:01 +0300 -Subject: [PATCH 05/N] Add functionality for changing OS name via MSYSTEM +Subject: [PATCH 04/N] Add functionality for changing OS name via MSYSTEM environment variables. --- diff --git a/msys2-runtime/0006-Move-root-to-usr.-Change-sorting-mount-points.-By-de.patch b/msys2-runtime/0005-Move-root-to-usr.-Change-sorting-mount-points.-By-de.patch similarity index 98% rename from msys2-runtime/0006-Move-root-to-usr.-Change-sorting-mount-points.-By-de.patch rename to msys2-runtime/0005-Move-root-to-usr.-Change-sorting-mount-points.-By-de.patch index 32f0cf14fcf..850d6cdc087 100644 --- a/msys2-runtime/0006-Move-root-to-usr.-Change-sorting-mount-points.-By-de.patch +++ b/msys2-runtime/0005-Move-root-to-usr.-Change-sorting-mount-points.-By-de.patch @@ -1,8 +1,8 @@ -From 834af426d590c5eafa5a31454bb3e96d1b66bd06 Mon Sep 17 00:00:00 2001 +From 8b9860bde46b2d516d942fdd58b49eab4b9bedc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B8=CC=86=20=D0=9F?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=BE=D0=B2?= Date: Sun, 14 Apr 2019 21:45:06 +0300 -Subject: [PATCH 06/N] - Move root to /usr. - Change sorting mount points. - +Subject: [PATCH 05/N] - Move root to /usr. - Change sorting mount points. - By default mount without ACLs. - Can read /etc/fstab with short mount point format. @@ -35,7 +35,7 @@ index 163b475..15e9a34 100644 public: void init (bool); diff --git a/winsup/cygwin/mm/cygheap.cc b/winsup/cygwin/mm/cygheap.cc -index 4cc8517..c4f15d5 100644 +index 3388864..5409a6b 100644 --- a/winsup/cygwin/mm/cygheap.cc +++ b/winsup/cygwin/mm/cygheap.cc @@ -220,14 +220,22 @@ init_cygheap::init_installation_root () diff --git a/msys2-runtime/0007-Instead-of-creating-Cygwin-symlinks-use-deep-copy-by.patch b/msys2-runtime/0006-Instead-of-creating-Cygwin-symlinks-use-deep-copy-by.patch similarity index 97% rename from msys2-runtime/0007-Instead-of-creating-Cygwin-symlinks-use-deep-copy-by.patch rename to msys2-runtime/0006-Instead-of-creating-Cygwin-symlinks-use-deep-copy-by.patch index bff721e9686..0b0dce5d522 100644 --- a/msys2-runtime/0007-Instead-of-creating-Cygwin-symlinks-use-deep-copy-by.patch +++ b/msys2-runtime/0006-Instead-of-creating-Cygwin-symlinks-use-deep-copy-by.patch @@ -1,8 +1,8 @@ -From a7a80da72303405b0932f8c1529ea22b5ea511cd Mon Sep 17 00:00:00 2001 +From 242443bf1f2cfabbcb0ea5202f1b5f7d196fd24c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B8=CC=86=20=D0=9F?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=BE=D0=B2?= Date: Sun, 14 Apr 2019 21:47:21 +0300 -Subject: [PATCH 07/N] Instead of creating Cygwin symlinks, use deep copy by +Subject: [PATCH 06/N] Instead of creating Cygwin symlinks, use deep copy by default The new `winsymlinks` mode `deepcopy` (which is made the default) lets @@ -62,7 +62,7 @@ index d8e058f..b7e0e21 100644 bool winjitdebug = false; diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc -index cb01afc..a3e4de2 100644 +index 8ef347c..aae10fe 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -1722,6 +1722,173 @@ conv_path_list (const char *src, char *dst, size_t size, @@ -239,7 +239,7 @@ index cb01afc..a3e4de2 100644 /* Create a symlink from FROMPATH to TOPATH. */ extern "C" int -@@ -2034,6 +2201,84 @@ symlink_wsl (const char *oldpath, path_conv &win32_newpath) +@@ -2045,6 +2212,84 @@ symlink_wsl (const char *oldpath, path_conv &win32_newpath) return 0; } @@ -324,7 +324,7 @@ index cb01afc..a3e4de2 100644 int symlink_worker (const char *oldpath, path_conv &win32_newpath, bool isdevice) { -@@ -2101,6 +2346,13 @@ symlink_worker (const char *oldpath, path_conv &win32_newpath, bool isdevice) +@@ -2112,6 +2357,13 @@ symlink_worker (const char *oldpath, path_conv &win32_newpath, bool isdevice) case WSYM_nfs: res = symlink_nfs (oldpath, win32_newpath); __leave; diff --git a/msys2-runtime/0008-Automatically-rewrite-TERM-msys-to-TERM-cygwin.patch b/msys2-runtime/0007-Automatically-rewrite-TERM-msys-to-TERM-cygwin.patch similarity index 90% rename from msys2-runtime/0008-Automatically-rewrite-TERM-msys-to-TERM-cygwin.patch rename to msys2-runtime/0007-Automatically-rewrite-TERM-msys-to-TERM-cygwin.patch index 3155a9cd966..59849fbb272 100644 --- a/msys2-runtime/0008-Automatically-rewrite-TERM-msys-to-TERM-cygwin.patch +++ b/msys2-runtime/0007-Automatically-rewrite-TERM-msys-to-TERM-cygwin.patch @@ -1,8 +1,8 @@ -From f671632ea5f1d8a5776afc19c6f55c5cb04574e0 Mon Sep 17 00:00:00 2001 +From 9e313a6cf7e8b875ed612d561a3e94b586d179b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B8=CC=86=20=D0=9F?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=BE=D0=B2?= Date: Sun, 14 Apr 2019 21:48:54 +0300 -Subject: [PATCH 08/N] Automatically rewrite TERM=msys to TERM=cygwin +Subject: [PATCH 07/N] Automatically rewrite TERM=msys to TERM=cygwin With MSys1, it was necessary to set the TERM variable to "msys". To allow for a smooth transition from MSys1 to MSys2, let's simply handle diff --git a/msys2-runtime/0009-Do-not-convert-environment-for-strace.patch b/msys2-runtime/0008-Do-not-convert-environment-for-strace.patch similarity index 88% rename from msys2-runtime/0009-Do-not-convert-environment-for-strace.patch rename to msys2-runtime/0008-Do-not-convert-environment-for-strace.patch index 8c8af6d256b..a2bb4d33cde 100644 --- a/msys2-runtime/0009-Do-not-convert-environment-for-strace.patch +++ b/msys2-runtime/0008-Do-not-convert-environment-for-strace.patch @@ -1,8 +1,8 @@ -From 8f58dba7794555fe5fcdaaeb4c799031d475340b Mon Sep 17 00:00:00 2001 +From 3f325c89dc11e09091758cd82134f15383dc31de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B8=CC=86=20=D0=9F?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=BE=D0=B2?= Date: Sun, 14 Apr 2019 21:50:55 +0300 -Subject: [PATCH 09/N] Do not convert environment for strace +Subject: [PATCH 08/N] Do not convert environment for strace Strace is a Windows program so MSYS2 will convert all arguments and environment vars and that makes debugging msys2 software with strace very tricky. --- @@ -10,7 +10,7 @@ Strace is a Windows program so MSYS2 will convert all arguments and environment 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc -index 33a947d..8586ca1 100644 +index 3ff2187..8525285 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -539,11 +539,13 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, diff --git a/msys2-runtime/0010-strace.cc-Don-t-set-MSYS-noglob.patch b/msys2-runtime/0009-strace.cc-Don-t-set-MSYS-noglob.patch similarity index 95% rename from msys2-runtime/0010-strace.cc-Don-t-set-MSYS-noglob.patch rename to msys2-runtime/0009-strace.cc-Don-t-set-MSYS-noglob.patch index fa0f2a69e4b..3565cf2d4b3 100644 --- a/msys2-runtime/0010-strace.cc-Don-t-set-MSYS-noglob.patch +++ b/msys2-runtime/0009-strace.cc-Don-t-set-MSYS-noglob.patch @@ -1,7 +1,7 @@ -From 055c3f431668f208cfbc35bd56c34e8ec7910f72 Mon Sep 17 00:00:00 2001 +From c657f7cda50bea6902f89849b4be128deec67c03 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 23 Aug 2015 20:47:30 +0100 -Subject: [PATCH 10/N] strace.cc: Don't set MSYS=noglob +Subject: [PATCH 09/N] strace.cc: Don't set MSYS=noglob Commit message for this code was: diff --git a/msys2-runtime/0011-Add-debugging-for-strace-make_command_line.patch b/msys2-runtime/0010-Add-debugging-for-strace-make_command_line.patch similarity index 82% rename from msys2-runtime/0011-Add-debugging-for-strace-make_command_line.patch rename to msys2-runtime/0010-Add-debugging-for-strace-make_command_line.patch index 58d8bf5c739..dccd37ca5d6 100644 --- a/msys2-runtime/0011-Add-debugging-for-strace-make_command_line.patch +++ b/msys2-runtime/0010-Add-debugging-for-strace-make_command_line.patch @@ -1,7 +1,7 @@ -From a83678048ab5d4b27c6b5fd0813f6c8dc41afce6 Mon Sep 17 00:00:00 2001 +From 1cd647fe8360636f707702f6e8f9e9b9f3c8fc9b Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 21 Aug 2015 09:52:47 +0100 -Subject: [PATCH 11/N] Add debugging for strace make_command_line +Subject: [PATCH 10/N] Add debugging for strace make_command_line --- winsup/utils/mingw/strace.cc | 1 + diff --git a/msys2-runtime/0012-strace-quiet-be-really-quiet.patch b/msys2-runtime/0011-strace-quiet-be-really-quiet.patch similarity index 92% rename from msys2-runtime/0012-strace-quiet-be-really-quiet.patch rename to msys2-runtime/0011-strace-quiet-be-really-quiet.patch index d9f08df52b0..f6a6ea1e59a 100644 --- a/msys2-runtime/0012-strace-quiet-be-really-quiet.patch +++ b/msys2-runtime/0011-strace-quiet-be-really-quiet.patch @@ -1,7 +1,7 @@ -From 16e335f3fd875d2481bcfbcaa56a7021381d4b72 Mon Sep 17 00:00:00 2001 +From 0dc024e84c382293c00665b7f8a278a3e6b3b03b Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 17 May 2017 18:13:32 +0200 -Subject: [PATCH 12/N] strace --quiet: be *really* quiet +Subject: [PATCH 11/N] strace --quiet: be *really* quiet The biggest problem with strace spitting out `create_child: ...` despite being asked to be real quiet is that its output can very well interfere diff --git a/msys2-runtime/0013-path_conv-special-case-root-directory-to-have-traili.patch b/msys2-runtime/0012-path_conv-special-case-root-directory-to-have-traili.patch similarity index 92% rename from msys2-runtime/0013-path_conv-special-case-root-directory-to-have-traili.patch rename to msys2-runtime/0012-path_conv-special-case-root-directory-to-have-traili.patch index be73bf9046f..00bd0b47fa7 100644 --- a/msys2-runtime/0013-path_conv-special-case-root-directory-to-have-traili.patch +++ b/msys2-runtime/0012-path_conv-special-case-root-directory-to-have-traili.patch @@ -1,8 +1,8 @@ -From 0f9740069ec89de5e6c30ed73c2a0f20886542ba Mon Sep 17 00:00:00 2001 +From 322dd0f40aead560ddd80e7a785678ce0dee5b91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B8=CC=86=20=D0=9F?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=BE=D0=B2?= Date: Sun, 14 Apr 2019 22:13:51 +0300 -Subject: [PATCH 13/N] path_conv: special-case root directory to have trailing +Subject: [PATCH 12/N] path_conv: special-case root directory to have trailing slash When converting `/c/` to `C:\`, the trailing slash is actually really @@ -31,7 +31,7 @@ Signed-off-by: Johannes Schindelin 1 file changed, 7 insertions(+) diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc -index a3e4de2..c2579c2 100644 +index aae10fe..6884e11 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -742,6 +742,12 @@ path_conv::check (const char *src, unsigned opt, diff --git a/msys2-runtime/0014-When-converting-to-a-Unix-path-avoid-double-trailing.patch b/msys2-runtime/0013-When-converting-to-a-Unix-path-avoid-double-trailing.patch similarity index 90% rename from msys2-runtime/0014-When-converting-to-a-Unix-path-avoid-double-trailing.patch rename to msys2-runtime/0013-When-converting-to-a-Unix-path-avoid-double-trailing.patch index 4f2161d9550..8b874a69030 100644 --- a/msys2-runtime/0014-When-converting-to-a-Unix-path-avoid-double-trailing.patch +++ b/msys2-runtime/0013-When-converting-to-a-Unix-path-avoid-double-trailing.patch @@ -1,7 +1,7 @@ -From 406cc5007a54620999e24c1cbdc0f4ae79590871 Mon Sep 17 00:00:00 2001 +From 27d29355abb65c61fae4c2bf1e7f6a11e9dbe3ab Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Tue, 8 Nov 2022 16:24:20 +0100 -Subject: [PATCH 14/N] When converting to a Unix path, avoid double trailing +Subject: [PATCH 13/N] When converting to a Unix path, avoid double trailing slashes When calling `cygpath -u C:/msys64/` in an MSYS2 setup that was diff --git a/msys2-runtime/0015-msys2_path_conv-pass-PC_NOFULL-to-path_conv.patch b/msys2-runtime/0014-msys2_path_conv-pass-PC_NOFULL-to-path_conv.patch similarity index 92% rename from msys2-runtime/0015-msys2_path_conv-pass-PC_NOFULL-to-path_conv.patch rename to msys2-runtime/0014-msys2_path_conv-pass-PC_NOFULL-to-path_conv.patch index 62b07b39839..4be1e3551e1 100644 --- a/msys2-runtime/0015-msys2_path_conv-pass-PC_NOFULL-to-path_conv.patch +++ b/msys2-runtime/0014-msys2_path_conv-pass-PC_NOFULL-to-path_conv.patch @@ -1,7 +1,7 @@ -From 665a09ba766997e513e3ecbbee36d4bda6629e15 Mon Sep 17 00:00:00 2001 +From 31e634e4870285f01be9f05e381c5995df2b0c99 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 20 Nov 2022 13:57:36 +0100 -Subject: [PATCH 15/N] msys2_path_conv: pass PC_NOFULL to path_conv +Subject: [PATCH 14/N] msys2_path_conv: pass PC_NOFULL to path_conv In theory this doesn't make a difference because posix_to_win32_path() is only called with rooted/absolute paths, but as pointed out in diff --git a/msys2-runtime/0016-path-conversion-Introduce-ability-to-switch-off-conv.patch b/msys2-runtime/0015-path-conversion-Introduce-ability-to-switch-off-conv.patch similarity index 94% rename from msys2-runtime/0016-path-conversion-Introduce-ability-to-switch-off-conv.patch rename to msys2-runtime/0015-path-conversion-Introduce-ability-to-switch-off-conv.patch index 0334977b1af..29240701361 100644 --- a/msys2-runtime/0016-path-conversion-Introduce-ability-to-switch-off-conv.patch +++ b/msys2-runtime/0015-path-conversion-Introduce-ability-to-switch-off-conv.patch @@ -1,7 +1,7 @@ -From b2f6fafe17fd043d5a47f840218463331fc78424 Mon Sep 17 00:00:00 2001 +From 0d54d3775f02b13ca3305c0dfbb1d94dff127b63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A7=88=EB=88=84=EC=97=98?= Date: Wed, 17 Jun 2015 09:30:41 +0200 -Subject: [PATCH 16/N] path-conversion: Introduce ability to switch off +Subject: [PATCH 15/N] path-conversion: Introduce ability to switch off conversion. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/msys2-runtime/0017-dcrt0.cc-Untangle-allow_glob-from-winshell.patch b/msys2-runtime/0016-dcrt0.cc-Untangle-allow_glob-from-winshell.patch similarity index 95% rename from msys2-runtime/0017-dcrt0.cc-Untangle-allow_glob-from-winshell.patch rename to msys2-runtime/0016-dcrt0.cc-Untangle-allow_glob-from-winshell.patch index d1c79babe13..31e8296210c 100644 --- a/msys2-runtime/0017-dcrt0.cc-Untangle-allow_glob-from-winshell.patch +++ b/msys2-runtime/0016-dcrt0.cc-Untangle-allow_glob-from-winshell.patch @@ -1,7 +1,7 @@ -From 38378c51ae08b036b1ddf1ef6cf93170ff3d9aac Mon Sep 17 00:00:00 2001 +From 753f879d591d4fc4bb22b489f436a9159c3cc783 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 21 Aug 2015 12:52:09 +0100 -Subject: [PATCH 17/N] dcrt0.cc: Untangle allow_glob from winshell +Subject: [PATCH 16/N] dcrt0.cc: Untangle allow_glob from winshell Otherwise if globbing is allowed and we get called from a Windows program, build_argv thinks we've been called from diff --git a/msys2-runtime/0018-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch b/msys2-runtime/0017-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch similarity index 94% rename from msys2-runtime/0018-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch rename to msys2-runtime/0017-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch index c8c71d57d93..9b473938ab1 100644 --- a/msys2-runtime/0018-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch +++ b/msys2-runtime/0017-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch @@ -1,7 +1,7 @@ -From b5312cbc07e0bf4f959d63219a4afd2c45610b04 Mon Sep 17 00:00:00 2001 +From 6caceef91c2267b5d69a57f6dbfd831240fcb6f5 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 24 Aug 2015 00:48:06 +0100 -Subject: [PATCH 18/N] dcrt0.cc (globify): Don't quote literal strings +Subject: [PATCH 17/N] dcrt0.cc (globify): Don't quote literal strings differently when dos_spec Reverts 25ba8f306f3099caf8397859019e936b90510e8d. I can't figure out what diff --git a/msys2-runtime/0019-Add-debugging-for-build_argv.patch b/msys2-runtime/0018-Add-debugging-for-build_argv.patch similarity index 83% rename from msys2-runtime/0019-Add-debugging-for-build_argv.patch rename to msys2-runtime/0018-Add-debugging-for-build_argv.patch index 669f0c47383..67578674e59 100644 --- a/msys2-runtime/0019-Add-debugging-for-build_argv.patch +++ b/msys2-runtime/0018-Add-debugging-for-build_argv.patch @@ -1,7 +1,7 @@ -From 9ef526773bdf7c7677a9ac03610141a6f40c4f36 Mon Sep 17 00:00:00 2001 +From ab509c6bbedcbca387845bf4303040aa2e19b8e0 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 21 Aug 2015 12:18:52 +0100 -Subject: [PATCH 19/N] Add debugging for build_argv +Subject: [PATCH 18/N] Add debugging for build_argv --- winsup/cygwin/dcrt0.cc | 2 ++ diff --git a/msys2-runtime/0020-environ.cc-New-facility-environment-variable-MSYS2_E.patch b/msys2-runtime/0019-environ.cc-New-facility-environment-variable-MSYS2_E.patch similarity index 96% rename from msys2-runtime/0020-environ.cc-New-facility-environment-variable-MSYS2_E.patch rename to msys2-runtime/0019-environ.cc-New-facility-environment-variable-MSYS2_E.patch index c3792102e10..ce8f764ebcf 100644 --- a/msys2-runtime/0020-environ.cc-New-facility-environment-variable-MSYS2_E.patch +++ b/msys2-runtime/0019-environ.cc-New-facility-environment-variable-MSYS2_E.patch @@ -1,7 +1,7 @@ -From b9d70993b51871100ba96523474340d9594bd559 Mon Sep 17 00:00:00 2001 +From 64d12ced94891fda224ff4d34ad359bbab722e12 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 10 Apr 2016 21:47:41 +0100 -Subject: [PATCH 20/N] environ.cc: New facility/environment variable +Subject: [PATCH 19/N] environ.cc: New facility/environment variable MSYS2_ENV_CONV_EXCL Works very much like MSYS2_ARG_CONV_EXCL. In fact it uses the same @@ -129,10 +129,10 @@ index 31080d0..f3bfba0 100644 (See "How to: Set a Thread Name in Native Code" diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc -index c2579c2..4b1b9f8 100644 +index 6884e11..7c42253 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc -@@ -4163,7 +4163,6 @@ arg_heuristic_with_exclusions (char const * const arg, char const * exclusions, +@@ -4174,7 +4174,6 @@ arg_heuristic_with_exclusions (char const * const arg, char const * exclusions, return arg_result; } @@ -141,7 +141,7 @@ index c2579c2..4b1b9f8 100644 { /* Since we've got regex linked we should maybe switch to that, but diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc -index 8586ca1..0503d13 100644 +index 8525285..854c25a 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -287,8 +287,7 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, diff --git a/msys2-runtime/0021-Introduce-the-enable_pcon-value-for-MSYS.patch b/msys2-runtime/0020-Introduce-the-enable_pcon-value-for-MSYS.patch similarity index 93% rename from msys2-runtime/0021-Introduce-the-enable_pcon-value-for-MSYS.patch rename to msys2-runtime/0020-Introduce-the-enable_pcon-value-for-MSYS.patch index f962f237e17..c40629c9ac9 100644 --- a/msys2-runtime/0021-Introduce-the-enable_pcon-value-for-MSYS.patch +++ b/msys2-runtime/0020-Introduce-the-enable_pcon-value-for-MSYS.patch @@ -1,7 +1,7 @@ -From f43ffb1f66d6d58b123cc90610d67971674acdaf Mon Sep 17 00:00:00 2001 +From 816c4c8e500717abd688d7da08d1073bae31cd1d Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Tue, 19 May 2020 13:49:37 +0200 -Subject: [PATCH 21/N] Introduce the `enable_pcon` value for `MSYS` +Subject: [PATCH 20/N] Introduce the `enable_pcon` value for `MSYS` It is simply the negation of `disable_pcon`, i.e. `MSYS=enable_pcon` is equivalent to `MSYS=nodisable_pcon` (the former is slightly more diff --git a/msys2-runtime/0022-popen-call-usr-bin-sh-instead-of-bin-sh.patch b/msys2-runtime/0021-popen-call-usr-bin-sh-instead-of-bin-sh.patch similarity index 90% rename from msys2-runtime/0022-popen-call-usr-bin-sh-instead-of-bin-sh.patch rename to msys2-runtime/0021-popen-call-usr-bin-sh-instead-of-bin-sh.patch index 996e77fdc46..b41453f9a6d 100644 --- a/msys2-runtime/0022-popen-call-usr-bin-sh-instead-of-bin-sh.patch +++ b/msys2-runtime/0021-popen-call-usr-bin-sh-instead-of-bin-sh.patch @@ -1,7 +1,7 @@ -From 65cf9f032554c2ed05d6b9e3c3ea4748df8ed5f5 Mon Sep 17 00:00:00 2001 +From 324c53b3ddfec4c546384f7a0ddba5f72214700a Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 5 Jun 2020 20:09:11 +0200 -Subject: [PATCH 22/N] popen: call /usr/bin/sh instead of /bin/sh +Subject: [PATCH 21/N] popen: call /usr/bin/sh instead of /bin/sh We mount /usr/bin to /bin, but in a chroot this is broken and we have no /bin, so try to use the real path. diff --git a/msys2-runtime/0023-Expose-full-command-lines-to-other-Win32-processes-b.patch b/msys2-runtime/0022-Expose-full-command-lines-to-other-Win32-processes-b.patch similarity index 94% rename from msys2-runtime/0023-Expose-full-command-lines-to-other-Win32-processes-b.patch rename to msys2-runtime/0022-Expose-full-command-lines-to-other-Win32-processes-b.patch index 1cdcb72faf1..4d1e5d91d38 100644 --- a/msys2-runtime/0023-Expose-full-command-lines-to-other-Win32-processes-b.patch +++ b/msys2-runtime/0022-Expose-full-command-lines-to-other-Win32-processes-b.patch @@ -1,7 +1,7 @@ -From 1e2b8bc4ab0b4cd173c437fd552a41cd64b12446 Mon Sep 17 00:00:00 2001 +From 7e67f568ec3ec30af2572cf63f7b17179df4b958 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 12 Aug 2020 12:22:38 +0200 -Subject: [PATCH 23/N] Expose full command-lines to other Win32 processes by +Subject: [PATCH 22/N] Expose full command-lines to other Win32 processes by default In the Cygwin project, it was decided that the command-line of Cygwin diff --git a/msys2-runtime/0024-Add-a-helper-to-obtain-a-function-s-address-in-kerne.patch b/msys2-runtime/0023-Add-a-helper-to-obtain-a-function-s-address-in-kerne.patch similarity index 98% rename from msys2-runtime/0024-Add-a-helper-to-obtain-a-function-s-address-in-kerne.patch rename to msys2-runtime/0023-Add-a-helper-to-obtain-a-function-s-address-in-kerne.patch index dd9a399dd67..130d31b0d9d 100644 --- a/msys2-runtime/0024-Add-a-helper-to-obtain-a-function-s-address-in-kerne.patch +++ b/msys2-runtime/0023-Add-a-helper-to-obtain-a-function-s-address-in-kerne.patch @@ -1,7 +1,7 @@ -From 0e6a5b980d1ff5de93d81ae8a91bed9e888389b7 Mon Sep 17 00:00:00 2001 +From f7f1624e976bf258be3fe3ccd79ba10c92ffdcd4 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 16 Apr 2018 14:59:39 +0200 -Subject: [PATCH 24/N] Add a helper to obtain a function's address in +Subject: [PATCH 23/N] Add a helper to obtain a function's address in kernel32.dll In particular, we are interested in the address of the CtrlRoutine diff --git a/msys2-runtime/0025-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch b/msys2-runtime/0024-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch similarity index 98% rename from msys2-runtime/0025-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch rename to msys2-runtime/0024-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch index d60d2036d34..1e3815e9c6e 100644 --- a/msys2-runtime/0025-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch +++ b/msys2-runtime/0024-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch @@ -1,7 +1,7 @@ -From 803f2346ad6cd1ee05c8d25124678b0d282368f6 Mon Sep 17 00:00:00 2001 +From 1453ede12eb758a0d8103902a765503c0cee936e Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Fri, 20 Mar 2015 09:56:28 +0000 -Subject: [PATCH 25/N] Emulate GenerateConsoleCtrlEvent() upon Ctrl+C +Subject: [PATCH 24/N] Emulate GenerateConsoleCtrlEvent() upon Ctrl+C This patch is heavily inspired by the Git for Windows' strategy in handling Ctrl+C. @@ -93,7 +93,7 @@ Signed-off-by: Johannes Schindelin create mode 100644 winsup/cygwin/include/cygwin/exit_process.h diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc -index 466abdd..caf9dfb 100644 +index e724e37..bdbf443 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -29,6 +29,7 @@ details. */ @@ -104,7 +104,7 @@ index 466abdd..caf9dfb 100644 /* Define macros for CPU-agnostic register access. The _CX_foo macros are for access into CONTEXT, the _MC_foo ones for access into -@@ -1594,10 +1595,25 @@ exit_sig: +@@ -1654,10 +1655,25 @@ exit_sig: dosig: if (have_execed) { diff --git a/msys2-runtime/0026-kill-kill-Win32-processes-more-gently.patch b/msys2-runtime/0025-kill-kill-Win32-processes-more-gently.patch similarity index 92% rename from msys2-runtime/0026-kill-kill-Win32-processes-more-gently.patch rename to msys2-runtime/0025-kill-kill-Win32-processes-more-gently.patch index 482760f347c..b593767bda4 100644 --- a/msys2-runtime/0026-kill-kill-Win32-processes-more-gently.patch +++ b/msys2-runtime/0025-kill-kill-Win32-processes-more-gently.patch @@ -1,7 +1,7 @@ -From 4148d009cc1c5362101b6110d27918e39c965af9 Mon Sep 17 00:00:00 2001 +From e30cdeb60808a680265e0359fcdaee4599fdb89c Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Fri, 20 Mar 2015 10:01:50 +0000 -Subject: [PATCH 26/N] kill: kill Win32 processes more gently +Subject: [PATCH 25/N] kill: kill Win32 processes more gently This change is the equivalent to the change to the Ctrl+C handling we just made. diff --git a/msys2-runtime/0027-Cygwin-make-option-for-native-inner-link-handling.patch b/msys2-runtime/0026-Cygwin-make-option-for-native-inner-link-handling.patch similarity index 91% rename from msys2-runtime/0027-Cygwin-make-option-for-native-inner-link-handling.patch rename to msys2-runtime/0026-Cygwin-make-option-for-native-inner-link-handling.patch index 0a3b4c81947..ceddbc49c90 100644 --- a/msys2-runtime/0027-Cygwin-make-option-for-native-inner-link-handling.patch +++ b/msys2-runtime/0026-Cygwin-make-option-for-native-inner-link-handling.patch @@ -1,7 +1,7 @@ -From c6208de91ddbf64af43fff360797d9420a5adaa5 Mon Sep 17 00:00:00 2001 +From 5733e9145bb8caa971dbbb0b031b0015dc197ba9 Mon Sep 17 00:00:00 2001 From: Jeremy Drake Date: Thu, 22 Jul 2021 11:59:16 -0700 -Subject: [PATCH 27/N] Cygwin: make option for native inner link handling. +Subject: [PATCH 26/N] Cygwin: make option for native inner link handling. This code has been causing issues with SUBST and mapped network drives, so add an option (defaulted to on) which can be used to disable it where @@ -37,10 +37,10 @@ index 79f9476..30a2da1 100644 /* Taken from BSD libc: This variable is zero until a process has created a pthread. It is used diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc -index 4b1b9f8..a1435a0 100644 +index 7c42253..8ddc201 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc -@@ -3834,8 +3834,9 @@ restart: +@@ -3845,8 +3845,9 @@ restart: differ, return the final path as symlink content and set symlen to a negative value. This forces path_conv::check to restart symlink evaluation with the new path. */ diff --git a/msys2-runtime/0028-docs-skip-building-texinfo-and-PDF-files.patch b/msys2-runtime/0027-docs-skip-building-texinfo-and-PDF-files.patch similarity index 94% rename from msys2-runtime/0028-docs-skip-building-texinfo-and-PDF-files.patch rename to msys2-runtime/0027-docs-skip-building-texinfo-and-PDF-files.patch index 4b054bf1b9c..cadb076a1fe 100644 --- a/msys2-runtime/0028-docs-skip-building-texinfo-and-PDF-files.patch +++ b/msys2-runtime/0027-docs-skip-building-texinfo-and-PDF-files.patch @@ -1,7 +1,7 @@ -From 1e065198eeabc0945c2e035d65ee4c614195d3b1 Mon Sep 17 00:00:00 2001 +From 82fd4e188cafda0f8f21bdefbb4a8c3857fd86dc Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 8 Nov 2021 14:20:07 +0100 -Subject: [PATCH 28/N] docs: skip building texinfo and PDF files +Subject: [PATCH 27/N] docs: skip building texinfo and PDF files The MSYS2 packages lack the infrastructure to build those. diff --git a/msys2-runtime/0029-install-libs-depend-on-the-toollibs.patch b/msys2-runtime/0028-install-libs-depend-on-the-toollibs.patch similarity index 80% rename from msys2-runtime/0029-install-libs-depend-on-the-toollibs.patch rename to msys2-runtime/0028-install-libs-depend-on-the-toollibs.patch index 7788d0c844e..888afdd9712 100644 --- a/msys2-runtime/0029-install-libs-depend-on-the-toollibs.patch +++ b/msys2-runtime/0028-install-libs-depend-on-the-toollibs.patch @@ -1,7 +1,7 @@ -From c325e7f4058c3d501ba301ee66ecac9cfa7dcef0 Mon Sep 17 00:00:00 2001 +From f6b74e290585875472441d46bf5e06bedcfef225 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 8 Nov 2021 16:22:57 +0100 -Subject: [PATCH 29/N] install-libs: depend on the "toollibs" +Subject: [PATCH 28/N] install-libs: depend on the "toollibs" Before symlinking libg.a, we need the symlink source `libmsys-2.0.a`: in MSYS2, we copy by default (if we were creating Unix-style symlinks, the @@ -14,10 +14,10 @@ Signed-off-by: Johannes Schindelin 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/winsup/cygwin/Makefile.am b/winsup/cygwin/Makefile.am -index f3662b9..6757f04 100644 +index 54ae637..9c09fc2 100644 --- a/winsup/cygwin/Makefile.am +++ b/winsup/cygwin/Makefile.am -@@ -705,7 +705,7 @@ man_MANS = regex/regex.3 regex/regex.7 +@@ -707,7 +707,7 @@ man_MANS = regex/regex.3 regex/regex.7 install-exec-hook: install-libs install-data-local: install-headers install-ldif diff --git a/msys2-runtime/0030-POSIX-ify-the-SHELL-variable.patch b/msys2-runtime/0029-POSIX-ify-the-SHELL-variable.patch similarity index 97% rename from msys2-runtime/0030-POSIX-ify-the-SHELL-variable.patch rename to msys2-runtime/0029-POSIX-ify-the-SHELL-variable.patch index 781b9e011d8..266ed0b2da2 100644 --- a/msys2-runtime/0030-POSIX-ify-the-SHELL-variable.patch +++ b/msys2-runtime/0029-POSIX-ify-the-SHELL-variable.patch @@ -1,7 +1,7 @@ -From 4b304dcdce500ad68b0c1bb0b788beb80d753b13 Mon Sep 17 00:00:00 2001 +From fe461717b2eec97c0524c9d32d28fb8db13b26f0 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 23 Nov 2015 20:03:11 +0100 -Subject: [PATCH 30/N] POSIX-ify the SHELL variable +Subject: [PATCH 29/N] POSIX-ify the SHELL variable When calling a non-MSys2 binary, all of the environment is converted from POSIX to Win32, including the SHELL environment variable. In Git for diff --git a/msys2-runtime/0031-Handle-ORIGINAL_PATH-just-like-PATH.patch b/msys2-runtime/0030-Handle-ORIGINAL_PATH-just-like-PATH.patch similarity index 95% rename from msys2-runtime/0031-Handle-ORIGINAL_PATH-just-like-PATH.patch rename to msys2-runtime/0030-Handle-ORIGINAL_PATH-just-like-PATH.patch index a382691914e..886602d4bfe 100644 --- a/msys2-runtime/0031-Handle-ORIGINAL_PATH-just-like-PATH.patch +++ b/msys2-runtime/0030-Handle-ORIGINAL_PATH-just-like-PATH.patch @@ -1,7 +1,7 @@ -From 129ee40f2f119cb11a7df0a2f96df3442c163657 Mon Sep 17 00:00:00 2001 +From 80235497b616c39598f8e4c553766286b004a6ca Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Tue, 21 Mar 2017 13:18:38 +0100 -Subject: [PATCH 31/N] Handle ORIGINAL_PATH just like PATH +Subject: [PATCH 30/N] Handle ORIGINAL_PATH just like PATH MSYS2 recently introduced that hack where the ORIGINAL_PATH variable is set to the original PATH value in /etc/profile, unless previously set. diff --git a/msys2-runtime/0032-uname-allow-setting-the-system-name-to-CYGWIN.patch b/msys2-runtime/0031-uname-allow-setting-the-system-name-to-CYGWIN.patch similarity index 95% rename from msys2-runtime/0032-uname-allow-setting-the-system-name-to-CYGWIN.patch rename to msys2-runtime/0031-uname-allow-setting-the-system-name-to-CYGWIN.patch index 9e452a6db66..ef4c26c7617 100644 --- a/msys2-runtime/0032-uname-allow-setting-the-system-name-to-CYGWIN.patch +++ b/msys2-runtime/0031-uname-allow-setting-the-system-name-to-CYGWIN.patch @@ -1,7 +1,7 @@ -From 5f01a6f359f1ad9af7bec6fa393b2e2bbe3f7617 Mon Sep 17 00:00:00 2001 +From b03e6f9d01f8fb1b7baf122809db212089d94e45 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 3 Jul 2022 22:39:32 +0200 -Subject: [PATCH 32/N] uname: allow setting the system name to CYGWIN +Subject: [PATCH 31/N] uname: allow setting the system name to CYGWIN We are currently trying to move our cygwin build environment closer to cygwin and some autotools/bash based build systems call "uname -s" diff --git a/msys2-runtime/0033-Pass-environment-variables-with-empty-values.patch b/msys2-runtime/0032-Pass-environment-variables-with-empty-values.patch similarity index 92% rename from msys2-runtime/0033-Pass-environment-variables-with-empty-values.patch rename to msys2-runtime/0032-Pass-environment-variables-with-empty-values.patch index 7e9e83d642b..2577a1e9718 100644 --- a/msys2-runtime/0033-Pass-environment-variables-with-empty-values.patch +++ b/msys2-runtime/0032-Pass-environment-variables-with-empty-values.patch @@ -1,7 +1,7 @@ -From 2897bc0c8bfe0e34224fb52cf89054798922f21a Mon Sep 17 00:00:00 2001 +From 5194fb922ddc56c1538ade2dd3765acd9a01b5cc Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 18 Feb 2015 12:32:17 +0000 -Subject: [PATCH 33/N] Pass environment variables with empty values +Subject: [PATCH 32/N] Pass environment variables with empty values There is a difference between an empty value and an unset environment variable. We should not confuse both; If the user wants to unset an diff --git a/msys2-runtime/0034-Optionally-disallow-empty-environment-values-again.patch b/msys2-runtime/0033-Optionally-disallow-empty-environment-values-again.patch similarity index 94% rename from msys2-runtime/0034-Optionally-disallow-empty-environment-values-again.patch rename to msys2-runtime/0033-Optionally-disallow-empty-environment-values-again.patch index c3ddcfaecc7..8c817a35ff5 100644 --- a/msys2-runtime/0034-Optionally-disallow-empty-environment-values-again.patch +++ b/msys2-runtime/0033-Optionally-disallow-empty-environment-values-again.patch @@ -1,7 +1,7 @@ -From 23846ef082f5a79ef8ccb1435c5c4a3cc9c789db Mon Sep 17 00:00:00 2001 +From 13ef29703bcc1074331aa0e932d61f70e710c893 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Tue, 6 Sep 2022 10:40:58 +0200 -Subject: [PATCH 34/N] Optionally disallow empty environment values again +Subject: [PATCH 33/N] Optionally disallow empty environment values again We just disabled the code that skips environment variables whose values are empty. diff --git a/msys2-runtime/0035-build_env-respect-the-MSYS-environment-variable.patch b/msys2-runtime/0034-build_env-respect-the-MSYS-environment-variable.patch similarity index 88% rename from msys2-runtime/0035-build_env-respect-the-MSYS-environment-variable.patch rename to msys2-runtime/0034-build_env-respect-the-MSYS-environment-variable.patch index a9b28f5aa07..99df47a714e 100644 --- a/msys2-runtime/0035-build_env-respect-the-MSYS-environment-variable.patch +++ b/msys2-runtime/0034-build_env-respect-the-MSYS-environment-variable.patch @@ -1,7 +1,7 @@ -From 24df6e4c3fd34089559f9c4ffcc9ecfed1f3f97b Mon Sep 17 00:00:00 2001 +From cd4b539b367dc2a21041405cb52d3bf5dbf1a3be Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Tue, 6 Sep 2022 12:18:18 +0200 -Subject: [PATCH 35/N] build_env(): respect the `MSYS` environment variable +Subject: [PATCH 34/N] build_env(): respect the `MSYS` environment variable With this commit, you can call diff --git a/msys2-runtime/0036-Revert-Cygwin-Enable-dynamicbase-on-the-Cygwin-DLL-b.patch b/msys2-runtime/0035-Revert-Cygwin-Enable-dynamicbase-on-the-Cygwin-DLL-b.patch similarity index 80% rename from msys2-runtime/0036-Revert-Cygwin-Enable-dynamicbase-on-the-Cygwin-DLL-b.patch rename to msys2-runtime/0035-Revert-Cygwin-Enable-dynamicbase-on-the-Cygwin-DLL-b.patch index 13d3cdff5ea..568f9886d3f 100644 --- a/msys2-runtime/0036-Revert-Cygwin-Enable-dynamicbase-on-the-Cygwin-DLL-b.patch +++ b/msys2-runtime/0035-Revert-Cygwin-Enable-dynamicbase-on-the-Cygwin-DLL-b.patch @@ -1,7 +1,7 @@ -From 6bb8c6264034e5f4a66c368d31a4f42981859a7d Mon Sep 17 00:00:00 2001 +From b0fe35837b3415c2fdc66d7bf11c84c903b54b07 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sat, 17 Dec 2022 20:14:49 +0100 -Subject: [PATCH 36/N] Revert "Cygwin: Enable dynamicbase on the Cygwin DLL by +Subject: [PATCH 35/N] Revert "Cygwin: Enable dynamicbase on the Cygwin DLL by default" This reverts commit 943433b00cacdde0cb9507d0178770a2fb67bd71. @@ -13,10 +13,10 @@ https://cygwin.com/pipermail/cygwin/2022-December/252711.html 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/winsup/cygwin/Makefile.am b/winsup/cygwin/Makefile.am -index 6757f04..f3bda04 100644 +index 9c09fc2..140e01a 100644 --- a/winsup/cygwin/Makefile.am +++ b/winsup/cygwin/Makefile.am -@@ -603,8 +603,7 @@ $(NEW_DLL_NAME): $(LDSCRIPT) libdll.a $(VERSION_OFILES) $(LIBSERVER)\ +@@ -605,8 +605,7 @@ $(NEW_DLL_NAME): $(LDSCRIPT) libdll.a $(VERSION_OFILES) $(LIBSERVER)\ $(newlib_build)/libm.a $(newlib_build)/libc.a $(AM_V_CXXLD)$(CXX) $(CXXFLAGS) \ -mno-use-libstdc-wrappers \ diff --git a/msys2-runtime/0037-Avoid-sharing-cygheaps-across-Cygwin-versions.patch b/msys2-runtime/0036-Avoid-sharing-cygheaps-across-Cygwin-versions.patch similarity index 97% rename from msys2-runtime/0037-Avoid-sharing-cygheaps-across-Cygwin-versions.patch rename to msys2-runtime/0036-Avoid-sharing-cygheaps-across-Cygwin-versions.patch index e1b17ac145f..75d8a4ca8cf 100644 --- a/msys2-runtime/0037-Avoid-sharing-cygheaps-across-Cygwin-versions.patch +++ b/msys2-runtime/0036-Avoid-sharing-cygheaps-across-Cygwin-versions.patch @@ -1,7 +1,7 @@ -From 5670c939d42401650e8eb97ac7739afe21c3b165 Mon Sep 17 00:00:00 2001 +From fdb1b2873f6b972d391c6119bf009fde89206fde Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 30 Jan 2023 23:22:22 +0100 -Subject: [PATCH 37/N] Avoid sharing cygheaps across Cygwin versions +Subject: [PATCH 36/N] Avoid sharing cygheaps across Cygwin versions It frequently leads to problems when trying, say, to call from MSYS2's Bash into Cygwin's or Git for Windows', merely because sharing that data @@ -89,7 +89,7 @@ index b88f3ad..3aa2b16 100644 [AS_HELP_STRING([--enable-debugging],[Build a cygwin DLL which has more consistency checking for debugging])], [case "${enableval}" in diff --git a/winsup/cygwin/Makefile.am b/winsup/cygwin/Makefile.am -index f3bda04..3dae33a 100644 +index 140e01a..58ef25d 100644 --- a/winsup/cygwin/Makefile.am +++ b/winsup/cygwin/Makefile.am @@ -17,6 +17,9 @@ if TARGET_X86_64 diff --git a/msys2-runtime/0038-uname-report-msys2-runtime-commit-hash-too.patch b/msys2-runtime/0037-uname-report-msys2-runtime-commit-hash-too.patch similarity index 96% rename from msys2-runtime/0038-uname-report-msys2-runtime-commit-hash-too.patch rename to msys2-runtime/0037-uname-report-msys2-runtime-commit-hash-too.patch index c4a626714d7..d0c701c4182 100644 --- a/msys2-runtime/0038-uname-report-msys2-runtime-commit-hash-too.patch +++ b/msys2-runtime/0037-uname-report-msys2-runtime-commit-hash-too.patch @@ -1,7 +1,7 @@ -From 7b0c7aef996d148a4e5daa67c8033ceb85b7b039 Mon Sep 17 00:00:00 2001 +From 6378f634da96099ef17b2d443ebdd64fd8f89cce Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Tue, 21 Feb 2023 16:36:36 +0100 -Subject: [PATCH 38/N] uname: report msys2-runtime commit hash, too +Subject: [PATCH 37/N] uname: report msys2-runtime commit hash, too Having just Cygwin's version in the output of `uname` is not helpful, as both MSYS2 as well as Git for Windows release intermediate versions of @@ -54,7 +54,7 @@ index 3aa2b16..4dd5ccb 100644 AC_ARG_ENABLE(debugging, diff --git a/winsup/cygwin/Makefile.am b/winsup/cygwin/Makefile.am -index 3dae33a..1765a08 100644 +index 58ef25d..41190bd 100644 --- a/winsup/cygwin/Makefile.am +++ b/winsup/cygwin/Makefile.am @@ -17,7 +17,9 @@ if TARGET_X86_64 @@ -68,7 +68,7 @@ index 3dae33a..1765a08 100644 COMMON_CFLAGS += $(VERSION_CFLAGS) AM_CFLAGS=$(cflags_common) $(COMMON_CFLAGS) -@@ -452,7 +454,7 @@ uname_version.c: .FORCE +@@ -454,7 +456,7 @@ uname_version.c: .FORCE version.cc: scripts/mkvers.sh include/cygwin/version.h winver.rc $(src_files) @echo "Making version.cc and winver.o";\ export CC="$(CC)";\ diff --git a/msys2-runtime/0039-Cygwin-Adjust-CWD-magic-to-accommodate-for-the-lates.patch b/msys2-runtime/0038-Cygwin-Adjust-CWD-magic-to-accommodate-for-the-lates.patch similarity index 92% rename from msys2-runtime/0039-Cygwin-Adjust-CWD-magic-to-accommodate-for-the-lates.patch rename to msys2-runtime/0038-Cygwin-Adjust-CWD-magic-to-accommodate-for-the-lates.patch index 2a573e1d8fb..393ca96bdd7 100644 --- a/msys2-runtime/0039-Cygwin-Adjust-CWD-magic-to-accommodate-for-the-lates.patch +++ b/msys2-runtime/0038-Cygwin-Adjust-CWD-magic-to-accommodate-for-the-lates.patch @@ -1,7 +1,7 @@ -From e3e73edccb7c4060f65716b8b9a5d50362993636 Mon Sep 17 00:00:00 2001 +From 23a25d49e3b8c18f12ce588869d4cb24de9f2454 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 22 May 2023 13:36:27 +0200 -Subject: [PATCH 39/N] Cygwin: Adjust CWD magic to accommodate for the latest +Subject: [PATCH 38/N] Cygwin: Adjust CWD magic to accommodate for the latest Windows previews Reportedly a very recent internal build of Windows 11 once again changed @@ -43,10 +43,10 @@ Signed-off-by: Johannes Schindelin 1 file changed, 12 insertions(+) diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc -index a1435a0..6f04658 100644 +index 8ddc201..ead7d16 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc -@@ -4885,6 +4885,18 @@ find_fast_cwd_pointer () +@@ -4896,6 +4896,18 @@ find_fast_cwd_pointer () %rcx for the subsequent RtlEnterCriticalSection call. */ lock = (const uint8_t *) memmem ((const char *) use_cwd, 80, "\x48\x8d\x0d", 3); diff --git a/msys2-runtime/0040-Handle-8-bit-characters-under-LOCALE-C.patch b/msys2-runtime/0039-Handle-8-bit-characters-under-LOCALE-C.patch similarity index 85% rename from msys2-runtime/0040-Handle-8-bit-characters-under-LOCALE-C.patch rename to msys2-runtime/0039-Handle-8-bit-characters-under-LOCALE-C.patch index bc1b7f47847..bd70f82f0ce 100644 --- a/msys2-runtime/0040-Handle-8-bit-characters-under-LOCALE-C.patch +++ b/msys2-runtime/0039-Handle-8-bit-characters-under-LOCALE-C.patch @@ -1,7 +1,7 @@ -From 7cd580aa405413447cc48e95a68234afa827761d Mon Sep 17 00:00:00 2001 +From 0db37522bc130e69a48d4ba6505b88c24cf946c0 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Fri, 20 Feb 2015 13:56:22 +0000 -Subject: [PATCH 40/N] Handle 8-bit characters under LOCALE=C +Subject: [PATCH 39/N] Handle 8-bit characters under LOCALE=C Even when the character set is specified as ASCII, we should handle data outside the 7-bit range gracefully by simply copying it, even if it is @@ -15,7 +15,7 @@ Signed-off-by: Johannes Schindelin 1 file changed, 4 insertions(+) diff --git a/winsup/cygwin/strfuncs.cc b/winsup/cygwin/strfuncs.cc -index 66667bd..54b9ba7 100644 +index cb7911c..a022b61 100644 --- a/winsup/cygwin/strfuncs.cc +++ b/winsup/cygwin/strfuncs.cc @@ -1146,7 +1146,11 @@ _sys_mbstowcs (mbtowc_p f_mbtowc, wchar_t *dst, size_t dlen, const char *src, diff --git a/msys2-runtime/0041-Mention-the-extremely-useful-small_printf-function.patch b/msys2-runtime/0040-Mention-the-extremely-useful-small_printf-function.patch similarity index 89% rename from msys2-runtime/0041-Mention-the-extremely-useful-small_printf-function.patch rename to msys2-runtime/0040-Mention-the-extremely-useful-small_printf-function.patch index f9ef9262421..2d8ea20fc8c 100644 --- a/msys2-runtime/0041-Mention-the-extremely-useful-small_printf-function.patch +++ b/msys2-runtime/0040-Mention-the-extremely-useful-small_printf-function.patch @@ -1,7 +1,7 @@ -From b2914cf710eed19df7fa81afb8c3e4cf80812ea9 Mon Sep 17 00:00:00 2001 +From cf305cf5097436c7dd5177d6b0fe56a114adec0a Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Fri, 20 Feb 2015 11:54:47 +0000 -Subject: [PATCH 41/N] Mention the extremely useful small_printf() function +Subject: [PATCH 40/N] Mention the extremely useful small_printf() function It came in real handy while debugging an issue that strace 'fixed'. diff --git a/msys2-runtime/0042-Fixed-path-converting-with-non-ascii-char.patch b/msys2-runtime/0041-Fixed-path-converting-with-non-ascii-char.patch similarity index 89% rename from msys2-runtime/0042-Fixed-path-converting-with-non-ascii-char.patch rename to msys2-runtime/0041-Fixed-path-converting-with-non-ascii-char.patch index 734a5d046ef..3e797d2482a 100644 --- a/msys2-runtime/0042-Fixed-path-converting-with-non-ascii-char.patch +++ b/msys2-runtime/0041-Fixed-path-converting-with-non-ascii-char.patch @@ -1,7 +1,7 @@ -From 0944d19d500850be868921207c42ee579994f1e7 Mon Sep 17 00:00:00 2001 +From 4a56ce26a83fe21af5f3d6ed02c38d3c4464bde1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A7=88=EB=88=84=EC=97=98?= Date: Mon, 9 Mar 2015 16:24:43 +0100 -Subject: [PATCH 42/N] Fixed path converting with non ascii char. +Subject: [PATCH 41/N] Fixed path converting with non ascii char. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/msys2-runtime/0043-Allow-native-symlinks-to-non-existing-targets-in-nat.patch b/msys2-runtime/0042-Allow-native-symlinks-to-non-existing-targets-in-nat.patch similarity index 93% rename from msys2-runtime/0043-Allow-native-symlinks-to-non-existing-targets-in-nat.patch rename to msys2-runtime/0042-Allow-native-symlinks-to-non-existing-targets-in-nat.patch index 92e56a3199e..f3043087212 100644 --- a/msys2-runtime/0043-Allow-native-symlinks-to-non-existing-targets-in-nat.patch +++ b/msys2-runtime/0042-Allow-native-symlinks-to-non-existing-targets-in-nat.patch @@ -1,7 +1,7 @@ -From e5b7338d5a9207967f0eef53ba2691b65a15cb2c Mon Sep 17 00:00:00 2001 +From bf72b247b4594788664969c03809b365f316f1c0 Mon Sep 17 00:00:00 2001 From: Karsten Blees Date: Wed, 20 May 2015 16:32:52 +0200 -Subject: [PATCH 43/N] Allow native symlinks to non-existing targets in +Subject: [PATCH 42/N] Allow native symlinks to non-existing targets in 'nativestrict' mode Windows native symlinks must match the type of their target (file or @@ -30,7 +30,7 @@ Signed-off-by: Johannes Schindelin 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc -index 6f04658..363f4bf 100644 +index ead7d16..d8aed28 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -2014,7 +2014,7 @@ symlink_native (const char *oldpath, path_conv &win32_newpath) @@ -42,7 +42,7 @@ index 6f04658..363f4bf 100644 if (resolve_symlink_target (oldpath, win32_newpath, win32_oldpath)) final_oldpath = win32_oldpath.get_nt_native_path (); -@@ -2062,14 +2062,39 @@ symlink_native (const char *oldpath, path_conv &win32_newpath) +@@ -2073,14 +2073,39 @@ symlink_native (const char *oldpath, path_conv &win32_newpath) wcpcpy (e_old, c_old); } } @@ -89,7 +89,7 @@ index 6f04658..363f4bf 100644 } /* Don't allow native symlinks to Cygwin special files. However, the caller shoud know because this case shouldn't be covered by the -@@ -2098,7 +2123,6 @@ symlink_native (const char *oldpath, path_conv &win32_newpath) +@@ -2109,7 +2134,6 @@ symlink_native (const char *oldpath, path_conv &win32_newpath) final_oldpath->Buffer[1] = L'\\'; } /* Try to create native symlink. */ diff --git a/msys2-runtime/0044-Make-paths-WCS-MBS-conversion-explicit.patch b/msys2-runtime/0043-Make-paths-WCS-MBS-conversion-explicit.patch similarity index 96% rename from msys2-runtime/0044-Make-paths-WCS-MBS-conversion-explicit.patch rename to msys2-runtime/0043-Make-paths-WCS-MBS-conversion-explicit.patch index 49975b480a3..60559448b9f 100644 --- a/msys2-runtime/0044-Make-paths-WCS-MBS-conversion-explicit.patch +++ b/msys2-runtime/0043-Make-paths-WCS-MBS-conversion-explicit.patch @@ -1,7 +1,7 @@ -From 6f2afa8cfca5ff7bf893f2df0f753b9d9fe01740 Mon Sep 17 00:00:00 2001 +From 12471a5de6b1da5cafe9288fa68185e304caae21 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Fri, 18 Dec 2015 20:19:57 +0100 -Subject: [PATCH 44/N] Make paths' WCS->MBS conversion explicit +Subject: [PATCH 43/N] Make paths' WCS->MBS conversion explicit * dcrt0.cc (dll_crt0_1), dtable.cc (handle_to_fn), environ.cc (environ_init, getwinenveq, build_env), external.cc @@ -276,7 +276,7 @@ index 426542f..4f732b6 100644 de->d_ino = hash_path_name (get_ino (), de->d_name); else diff --git a/winsup/cygwin/fhandler/process.cc b/winsup/cygwin/fhandler/process.cc -index 8fae9be..ec3ee5a 100644 +index e00cae5..1eacee3 100644 --- a/winsup/cygwin/fhandler/process.cc +++ b/winsup/cygwin/fhandler/process.cc @@ -578,10 +578,10 @@ static off_t @@ -292,7 +292,7 @@ index 8fae9be..ec3ee5a 100644 return len; } -@@ -1055,7 +1055,7 @@ peb_teb_rinse_repeat: +@@ -1082,7 +1082,7 @@ peb_teb_rinse_repeat: drive_maps.fixup_if_match (msi->SectionFileName.Buffer); if (mount_table->conv_to_posix_path (dosname, posix_modname, 0)) @@ -301,7 +301,7 @@ index 8fae9be..ec3ee5a 100644 stat (posix_modname, &st); } else if (!threads.fill_if_match (cur.abase, mb.Type, -@@ -1111,7 +1111,7 @@ format_process_stat (void *data, char *&destbuf) +@@ -1138,7 +1138,7 @@ format_process_stat (void *data, char *&destbuf) else { PWCHAR last_slash = wcsrchr (p->progname, L'\\'); @@ -310,7 +310,7 @@ index 8fae9be..ec3ee5a 100644 last_slash ? last_slash + 1 : p->progname); int len = strlen (cmd); if (len > 4) -@@ -1239,7 +1239,8 @@ format_process_status (void *data, char *&destbuf) +@@ -1266,7 +1266,8 @@ format_process_status (void *data, char *&destbuf) bool fetch_siginfo = false; PWCHAR last_slash = wcsrchr (p->progname, L'\\'); @@ -455,7 +455,7 @@ index f57465a..57af967 100644 } } diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc -index 6f04658..79eb6f6 100644 +index ead7d16..66c829e 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -653,7 +653,8 @@ path_conv::check (const UNICODE_STRING *src, unsigned opt, @@ -468,7 +468,7 @@ index 6f04658..79eb6f6 100644 path_conv::check (path, opt, suffixes); } -@@ -2681,7 +2682,7 @@ symlink_info::check_shortcut (HANDLE h) +@@ -2692,7 +2693,7 @@ symlink_info::check_shortcut (HANDLE h) if (*(PWCHAR) cp == 0xfeff) /* BOM */ { char *tmpbuf = tp.c_get (); @@ -477,7 +477,7 @@ index 6f04658..79eb6f6 100644 > SYMLINK_MAX) return 0; res = posixify (tmpbuf); -@@ -2762,7 +2763,7 @@ symlink_info::check_sysfile (HANDLE h) +@@ -2773,7 +2774,7 @@ symlink_info::check_sysfile (HANDLE h) else srcbuf += 2; char *tmpbuf = tp.c_get (); @@ -486,7 +486,7 @@ index 6f04658..79eb6f6 100644 > SYMLINK_MAX) debug_printf ("symlink string too long"); else -@@ -3030,8 +3031,8 @@ symlink_info::check_reparse_point (HANDLE h, bool remote) +@@ -3041,8 +3042,8 @@ symlink_info::check_reparse_point (HANDLE h, bool remote) path_flags (path_flags () | ret); if (ret & PATH_SYMLINK) { @@ -497,7 +497,7 @@ index 6f04658..79eb6f6 100644 /* A symlink is never a directory. */ fileattr (fileattr () & ~FILE_ATTRIBUTE_DIRECTORY); return posixify (srcbuf); -@@ -3065,7 +3066,7 @@ symlink_info::check_nfs_symlink (HANDLE h) +@@ -3076,7 +3077,7 @@ symlink_info::check_nfs_symlink (HANDLE h) { PWCHAR spath = (PWCHAR) (pffei->EaName + pffei->EaNameLength + 1); @@ -506,7 +506,7 @@ index 6f04658..79eb6f6 100644 spath, pffei->EaValueLength); path_flags (path_flags () | PATH_SYMLINK); } -@@ -4264,7 +4265,7 @@ cygwin_conv_path (cygwin_conv_path_t what, const void *from, void *to, +@@ -4275,7 +4276,7 @@ cygwin_conv_path (cygwin_conv_path_t what, const void *from, void *to, } PUNICODE_STRING up = p.get_nt_native_path (); buf = tp.c_get (); @@ -515,7 +515,7 @@ index 6f04658..79eb6f6 100644 up->Buffer, up->Length / sizeof (WCHAR)); /* Convert native path to standard DOS path. */ if (!strncmp (buf, "\\??\\", 4)) -@@ -4277,11 +4278,11 @@ cygwin_conv_path (cygwin_conv_path_t what, const void *from, void *to, +@@ -4288,11 +4289,11 @@ cygwin_conv_path (cygwin_conv_path_t what, const void *from, void *to, { /* Device name points to somewhere else in the NT namespace. Use GLOBALROOT prefix to convert to Win32 path. */ @@ -529,7 +529,7 @@ index 6f04658..79eb6f6 100644 up->Buffer, up->Length / sizeof (WCHAR)); } lsiz = strlen (buf) + 1; -@@ -4593,8 +4594,8 @@ cygwin_conv_path_list (cygwin_conv_path_t what, const void *from, void *to, +@@ -4604,8 +4605,8 @@ cygwin_conv_path_list (cygwin_conv_path_t what, const void *from, void *to, switch (what & CCP_CONVTYPE_MASK) { case CCP_WIN_W_TO_POSIX: @@ -540,7 +540,7 @@ index 6f04658..79eb6f6 100644 return -1; what = (what & ~CCP_CONVTYPE_MASK) | CCP_WIN_A_TO_POSIX; from = (const void *) winp; -@@ -5380,9 +5381,9 @@ cwdstuff::get_error_desc () const +@@ -5391,9 +5392,9 @@ cwdstuff::get_error_desc () const void cwdstuff::reset_posix (wchar_t *w_cwd) { @@ -552,7 +552,7 @@ index 6f04658..79eb6f6 100644 } char * -@@ -5407,7 +5408,7 @@ cwdstuff::get (char *buf, int need_posix, int with_chroot, unsigned ulen) +@@ -5418,7 +5419,7 @@ cwdstuff::get (char *buf, int need_posix, int with_chroot, unsigned ulen) if (!need_posix) { tocopy = tp.c_get (); diff --git a/msys2-runtime/0045-Use-MB_CUR_MAX-6-by-default.patch b/msys2-runtime/0044-Use-MB_CUR_MAX-6-by-default.patch similarity index 90% rename from msys2-runtime/0045-Use-MB_CUR_MAX-6-by-default.patch rename to msys2-runtime/0044-Use-MB_CUR_MAX-6-by-default.patch index 662d5e7d85e..c9071440f2b 100644 --- a/msys2-runtime/0045-Use-MB_CUR_MAX-6-by-default.patch +++ b/msys2-runtime/0044-Use-MB_CUR_MAX-6-by-default.patch @@ -1,7 +1,7 @@ -From 7e7c72beec88ec73a59bc89c6c22fb5b7ae198a7 Mon Sep 17 00:00:00 2001 +From 473511f5c6902ed97b7bf2bbb952b8aa85a9e51a Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Thu, 21 Nov 2019 14:21:01 +0100 -Subject: [PATCH 45/N] Use MB_CUR_MAX == 6 by default +Subject: [PATCH 44/N] Use MB_CUR_MAX == 6 by default Internally, Cygwin already uses __utf8_mbtowc(), even if it still claims to use the "ASCII" charset. diff --git a/msys2-runtime/0046-Change-the-default-base-address-for-x86_64.patch b/msys2-runtime/0045-Change-the-default-base-address-for-x86_64.patch similarity index 92% rename from msys2-runtime/0046-Change-the-default-base-address-for-x86_64.patch rename to msys2-runtime/0045-Change-the-default-base-address-for-x86_64.patch index e254ce7bbc6..5d22f2e6150 100644 --- a/msys2-runtime/0046-Change-the-default-base-address-for-x86_64.patch +++ b/msys2-runtime/0045-Change-the-default-base-address-for-x86_64.patch @@ -1,7 +1,7 @@ -From 423c4c3d271a832d646a0389b9be55b90093f22b Mon Sep 17 00:00:00 2001 +From 42211d80ea0df716574073c1976cc118a45a7c9f Mon Sep 17 00:00:00 2001 From: Mikael Larsson <95430516+chirpnot@users.noreply.github.com> Date: Thu, 10 Mar 2022 17:26:42 +0000 -Subject: [PATCH 46/N] Change the default base address for x86_64 +Subject: [PATCH 45/N] Change the default base address for x86_64 This might break things, but it turns out several Windows libraries like to be loaded at 0x180000000. diff --git a/msys2-runtime/0047-msys2-runtime-restore-fast-path-for-current-user-pri.patch b/msys2-runtime/0046-msys2-runtime-restore-fast-path-for-current-user-pri.patch similarity index 97% rename from msys2-runtime/0047-msys2-runtime-restore-fast-path-for-current-user-pri.patch rename to msys2-runtime/0046-msys2-runtime-restore-fast-path-for-current-user-pri.patch index af0d9aedbfc..a51c61b2ae1 100644 --- a/msys2-runtime/0047-msys2-runtime-restore-fast-path-for-current-user-pri.patch +++ b/msys2-runtime/0046-msys2-runtime-restore-fast-path-for-current-user-pri.patch @@ -1,7 +1,7 @@ -From 09097de2121f1057a2012043648eaade9b38e8bb Mon Sep 17 00:00:00 2001 +From daa35cff6160cb68c4817f35a0bd5893d04080a8 Mon Sep 17 00:00:00 2001 From: Richard Glidden Date: Thu, 24 Aug 2023 13:36:10 -0400 -Subject: [PATCH 47/N] msys2-runtime: restore fast path for current user +Subject: [PATCH 46/N] msys2-runtime: restore fast path for current user primary group Commit a5bcfe616c7e removed an optimization that fetches the diff --git a/msys2-runtime/0048-Cygwin-Fix-compatibility-with-w32api-headers-v13.patch b/msys2-runtime/0048-Cygwin-Fix-compatibility-with-w32api-headers-v13.patch deleted file mode 100644 index da2baf00fc6..00000000000 --- a/msys2-runtime/0048-Cygwin-Fix-compatibility-with-w32api-headers-v13.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 1f8def9f776a7dd0d0381f4bf25e84f805393cc1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Radek=20Barto=C5=88?= -Date: Mon, 9 Jun 2025 18:14:14 +0200 -Subject: [PATCH 48/N] Cygwin: Fix compatibility with w32api headers v13 - -(cherry picked from commit 2029784e05d9805aa074dcadb99c31311790b7ac) ---- - winsup/cygwin/fhandler/socket_inet.cc | 5 +++++ - winsup/cygwin/fhandler/socket_local.cc | 5 +++++ - winsup/cygwin/local_includes/ntdll.h | 4 ++++ - winsup/cygwin/net.cc | 5 +++++ - 4 files changed, 19 insertions(+) - -diff --git a/winsup/cygwin/fhandler/socket_inet.cc b/winsup/cygwin/fhandler/socket_inet.cc -index 22dfed6..5ed0cb0 100644 ---- a/winsup/cygwin/fhandler/socket_inet.cc -+++ b/winsup/cygwin/fhandler/socket_inet.cc -@@ -20,7 +20,12 @@ - #undef u_long - #define u_long __ms_u_long - #include -+/* 2025-06-09: win32api headers v13 now define a cmsghdr type which clashes with -+ our socket.h. Arrange not to see it here. */ -+#undef cmsghdr -+#define cmsghdr __ms_cmsghdr - #include -+#undef cmsghdr - #include - #include - #include -diff --git a/winsup/cygwin/fhandler/socket_local.cc b/winsup/cygwin/fhandler/socket_local.cc -index ea5ee67..0498edc 100644 ---- a/winsup/cygwin/fhandler/socket_local.cc -+++ b/winsup/cygwin/fhandler/socket_local.cc -@@ -21,7 +21,12 @@ - #define u_long __ms_u_long - #include "ntsecapi.h" - #include -+/* 2025-06-09: win32api headers v13 now define a cmsghdr type which clashes with -+ our socket.h. Arrange not to see it here. */ -+#undef cmsghdr -+#define cmsghdr __ms_cmsghdr - #include -+#undef cmsghdr - #include - #include - #include -diff --git a/winsup/cygwin/local_includes/ntdll.h b/winsup/cygwin/local_includes/ntdll.h -index 4497fe5..2991672 100644 ---- a/winsup/cygwin/local_includes/ntdll.h -+++ b/winsup/cygwin/local_includes/ntdll.h -@@ -489,6 +489,8 @@ typedef struct _FILE_DISPOSITION_INFORMATION_EX // 64 - ULONG Flags; - } FILE_DISPOSITION_INFORMATION_EX, *PFILE_DISPOSITION_INFORMATION_EX; - -+#if __MINGW64_VERSION_MAJOR < 13 -+ - typedef struct _FILE_STAT_INFORMATION // 68 - { - LARGE_INTEGER FileId; -@@ -509,6 +511,8 @@ typedef struct _FILE_CASE_SENSITIVE_INFORMATION // 71 - ULONG Flags; - } FILE_CASE_SENSITIVE_INFORMATION, *PFILE_CASE_SENSITIVE_INFORMATION; - -+#endif -+ - enum { - FILE_LINK_REPLACE_IF_EXISTS = 0x01, - FILE_LINK_POSIX_SEMANTICS = 0x02, -diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc -index 9d7224a..579b1a7 100644 ---- a/winsup/cygwin/net.cc -+++ b/winsup/cygwin/net.cc -@@ -18,7 +18,12 @@ details. */ - #undef u_long - #define u_long __ms_u_long - #include -+/* 2025-06-09: win32api headers v13 now define a cmsghdr type which clashes with -+ our socket.h. Arrange not to see it here. */ -+#undef cmsghdr -+#define cmsghdr __ms_cmsghdr - #include -+#undef cmsghdr - #include - #define gethostname cygwin_gethostname - #include diff --git a/msys2-runtime/0049-symlink_native-allow-linking-to.patch b/msys2-runtime/0049-symlink_native-allow-linking-to.patch deleted file mode 100644 index af888829f28..00000000000 --- a/msys2-runtime/0049-symlink_native-allow-linking-to.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 4ee8a03ea37a74f1e31ebb0b3c73124f2ad5f4df Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Thu, 19 Jun 2025 20:46:03 +0200 -Subject: [PATCH 49/N] symlink_native: allow linking to `..` - -When running - - CYGWIN=winsymlinks:nativestrict ln -s .. abc - -the counter-intuitive result is _not_ a symbolic link to `..`, but -instead to `../../$(basename "$PWD")`. - -The reason for this is that the search for the longest common prefix -assumes that the link target is not a strict prefix of the parent -directory of the link itself. - -Let's fix that. - -Signed-off-by: Johannes Schindelin ---- - winsup/cygwin/path.cc | 21 ++++++++++++++++----- - 1 file changed, 16 insertions(+), 5 deletions(-) - -diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc -index 6f04658..ead7d16 100644 ---- a/winsup/cygwin/path.cc -+++ b/winsup/cygwin/path.cc -@@ -2030,9 +2030,18 @@ symlink_native (const char *oldpath, path_conv &win32_newpath) - while (towupper (*++c_old) == towupper (*++c_new)) - ; - /* The last component could share a common prefix, so make sure we end -- up on the first char after the last common backslash. */ -- while (c_old[-1] != L'\\') -- --c_old, --c_new; -+ up on the first char after the last common backslash. -+ -+ However, if c_old is a strict prefix of c_new (at a component -+ boundary), or vice versa, then do not try to find the last common -+ backslash. */ -+ if ((!*c_old || *c_old == L'\\') && (!*c_new || *c_new == L'\\')) -+ c_old += !!*c_old, c_new += !!*c_new; -+ else -+ { -+ while (c_old[-1] != L'\\') -+ --c_old, --c_new; -+ } - - /* 2. Check if prefix is long enough. The prefix must at least points to - a complete device: \\?\X:\ or \\?\UNC\server\share\ are the minimum -@@ -2057,8 +2066,10 @@ symlink_native (const char *oldpath, path_conv &win32_newpath) - final_oldpath = &final_oldpath_buf; - final_oldpath->Buffer = tp.w_get (); - PWCHAR e_old = final_oldpath->Buffer; -- while (num-- > 0) -- e_old = wcpcpy (e_old, L"..\\"); -+ while (num > 1 || (num == 1 && *c_old)) -+ e_old = wcpcpy (e_old, L"..\\"), num--; -+ if (num > 0) -+ e_old = wcpcpy (e_old, L".."); - wcpcpy (e_old, c_old); - } - } diff --git a/msys2-runtime/0050-pipe-fix-SSH-hang-again.patch b/msys2-runtime/0050-pipe-fix-SSH-hang-again.patch deleted file mode 100644 index 8ea43b1a83b..00000000000 --- a/msys2-runtime/0050-pipe-fix-SSH-hang-again.patch +++ /dev/null @@ -1,206 +0,0 @@ -From cb9b2d04699ca0a5d1f32f6e79447b0823444fb4 Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Mon, 23 Jun 2025 13:06:02 +0200 -Subject: [PATCH 50/N] pipe: fix SSH hang (again) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When cbfaeba4f7 (Cygwin: pipe: Fix incorrect write length in -raw_write(), 2024-11-06) fixed a bug where too-long writes could cause -segmentation faults, it not only left out crucial details from the -commit message, it also introduced a bug. - -This manifests e.g. in the symptom where cloning large repositories in -Git for Windows via SSH "freeze" at random stages, as has been reported -in https://github.com/git-for-windows/git/issues/5688 and in -https://github.com/git-for-windows/git/issues/5682. - -The bug in question was to use `is_nonblocking ()` instead of -`real_non_blocking_mode` in a newly introduced condition. If the commit -message had filled in those details, it would most likely have been much -easier to spot the bug before the patch was committed. - -Granted, the patch _sort of_ moved this `is_nonblocking ()` condition -from another place, which means that the bug was present before, even if -it did not have the same detrimental symptom of hanging a clone of a -large repository via SSH. - -The _original_ bug was introduced in the equally under-explained -7ed9adb356 (Cygwin: pipe: Switch pipe mode to blocking mode by default, -2024-09-05). - -What is ironic is that this here patch is the latest (and hopefully -last) commit in a _long_ chain of bug fixes that fix bugs introduced by -preceding bug fixes: - -- 9e4d308cd5 (Cygwin: pipe: Adopt FILE_SYNCHRONOUS_IO_NONALERT flag for - read pipe., 2021-11-10) fixed a bug where Cygwin hung by mistake while - piping output from one .NET program as input to another .NET program - (potentially introduced by 365199090c (Cygwin: pipe: Avoid false EOF - while reading output of C# programs., 2021-11-07), which was itself a - bug fix). It introduced a bug that was fixed by... -- fc691d0246 (Cygwin: pipe: Make sure to set read pipe non-blocking for - cygwin apps., 2024-03-11). Which introduced a bug that was purportedly - fixed by... -- 7ed9adb356 (Cygwin: pipe: Switch pipe mode to blocking mode by - default, 2024-09-05). Which introduced a bug that was fixed by... -- cbfaeba4f7 (Cygwin: pipe: Fix incorrect write length in raw_write(), - 2024-11-06). Which introduced a bug that was fixed by... this here - patch. - -There is not only the common thread here that each of these bug fixes -introduced a new bug, but also the common thread of commit messages that -leave the reader puzzled and the problem — as well as the solution — -under-explained. It is quite likely that, had the time and care been -spent to fully explain what is going on in the commit messages, this -would quite likely have triggered a re-review of the diff by the author. -In other words, writing a complete commit message could have increased -the insight and understanding of the problem and thereby prevented this -series of "fixes that introduce new bugs". - -To avoid making the same mistake once again, here is my attempt at a -thorough explanation of what's going on, what is the problem, what -solutions were considered, and why the "winner" was chosen. - -So let's start with an overview of the logic of the -`fhandler_pipe_fifo::raw_write ()` method. - -This method implements the fundamental logic behind writing to any pipe -in Cygwin, whether it be blocking or not blocking, and takes as input -two variables, `ptr` and `len`, pointing to the data to be written. - -First, this method determines a couple of initial conditions (such as -maybe waiting on a specific mutex, or determining whether the pipe had -been closed already, or whether it is in blocking or in non-blocking -mode). Then, this method determines how many bytes of data should be -written in each attempt (assigned to the variable `chunk`). - -The amount of bytes already written is tracked as `nbytes`. While this -value is smaller than `len`, the central loop of this method is -executed. - -Counterintuitively, this loop is necessary even in non-blocking mode, to -handle conditions like `STATUS_PENDING`. - -Inside this loop body, a variety of conditions are handled, including -some that break out of that loop before `nbytes >= len`, e.g. when the -pipe is closed on the other end. - -This loop body also contains special, complicated logic to handle the -case where the pipe buffer is not large enough to handle the current -`chunk`, trying to write even less bytes (this is guarded by the flag -`short_write_once`). - -Unfortunately, the recent re-design of that logic decided to always set -the pipe to blocking (cf. the diff of ed9adb356 (Cygwin: pipe: Switch -pipe mode to blocking mode by default, 2024-09-05)). The rationale for -that decision was the desire to simplify the code, which came at the -expense of working well together with pipes that were created outside of -Cygwin and that are set to non-blocking mode. - -To this end, the current implementation now _emulates_ non-blocking -behavior while keeping the actual pipe in blocking mode. This requires -knowing how much data can be written to the pipe without blocking at any -given moment. Because by knowing that amount, even in blocking mode a -write operation can be performed that does not block. This information -is obtained via `NtQueryInformationFile(FilePipeLocalInformation)` and -stored in the variable `avail`. - -However, if for some reason it cannot be determined how much space is -available in the pipe, this non-blocking mode emulation would not work. -Therefore the pipe is set to genuine non-blocking mode in such cases, -and only in such cases. This minimizes the time window (but does not -eliminate it completely!) during which Cygwin does not work well -together with non-Cygwin processes via pipes. - -It also shows that the original desire to simplify the code can not be -fulfilled using the current strategy, as there is now both code to -emulate non-blocking mode as well as code that handles genuinely -non-blocking mode. - -This information whether non-blocking mode is merely emulated or -genuinely enabled, is tracked by the Boolean variable -`real_non_blocking_mode`. - -At the beginning of the loop body, after determining how many bytes to -write (stored in `len1`), the `NtWriteFile()` is called. Since the -re-design to always use blocking mode (at least insofar possible), this -`NtWriteFile()` call is guarded by a condition so that it is called only -once in non-blocking mode. - -Now, the logic for that is quite complex. First, `len1` is clamped to -`chunk` in blocking mode, otherwise to however many bytes are left to -write. Then, an _inner_ `while` loop runs as long as `len1` is greater -than 0. Inside that loop, `NtWriteFile()` is called _unless_ we'd try to -write more bytes than are available in emulated non-blocking mode. - -It is the complex interplay between that clamping to `chunk` and the -condition when `NtWriteFile()` is skipped that is at the heart of this -bug. - -But let's first see what happens in the case described above, where the -(Cygwin) SSH process gets stuck writing to the (non-Cygwin) Git process. -In the instances I observed, the big `while (nbytes < len)` loop is -started with the following initial conditions: `len` is 2097152, `chunk` -and `avail` are 1 and `real_non_blocking_mode` is 0. - -When the outer loop is entered, `len1` is therefore also set to 2097152, -and at the start of the inner loop the condition `len1 > avail` holds -true. Therefore, the `NtWriteFile()` call is skipped already during the -first iteration, we run into the code that tries a short write (setting -`short_write_once` to 1), and ultimately fail and return from -`raw_write()` with an error. - -Since not a single byte was written, the caller will try again at some -stage, failing again, over and over, and we're in an infinite loop. - -The fix chosen in this here commit is to apply that clamping to `chunk` -_also_ in the emulated non-blocking mode. This lets the `NtWriteFile()` -call _not_ be skipped in non-emulated non-blocking mode, as was clearly -the intention. - -An alternative patch that would have also addressed the symptom would be -to partially revert this hunk of cbfaeba4f7 (Cygwin: pipe: Fix incorrect -write length in raw_write(), 2024-11-06): - - chunk = len; - - else if (is_nonblocking ()) - - chunk = len = pipe_buf_size; - else - chunk = avail; - -The logic changed such that `len` would no longer be clamped to the same -value as `chunk` in non-blocking mode. Reinstating that clamp in -non-blocking mode would also work around the issue, but it would be a -bit more heavy-handed than the chosen fix. - -Yet another potential fix that was suggested (in -https://github.com/git-for-windows/git/issues/5688#issuecomment-2995952882) -would be to modify the condition when `NtWriteFile()` is skipped so as -to force it to _not_ be skipped when attempting a "short write", i.e. -when `short_write_once != 0`. This fix would have worked around the bug -successfully, but is fixing the bug at the wrong layer (even if it hints -at the fact that the `short_write_once` logic is ill-prepared for -non-blocking mode, but that's a topic for another patch). - -Fixes: cbfaeba4f7 (Cygwin: pipe: Fix incorrect write length in raw_write(), 2024-11-06) -Co-authored-by: Takashi Yano -Signed-off-by: Johannes Schindelin ---- - winsup/cygwin/fhandler/pipe.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/winsup/cygwin/fhandler/pipe.cc b/winsup/cygwin/fhandler/pipe.cc -index 506dd09..169c0bb 100644 ---- a/winsup/cygwin/fhandler/pipe.cc -+++ b/winsup/cygwin/fhandler/pipe.cc -@@ -561,7 +561,7 @@ fhandler_pipe_fifo::raw_write (const void *ptr, size_t len) - ULONG len1; - DWORD waitret = WAIT_OBJECT_0; - -- if (left > chunk && !is_nonblocking ()) -+ if (left > chunk && !real_non_blocking_mode) - len1 = chunk; - else - len1 = (ULONG) left; diff --git a/msys2-runtime/0051-fixup-pipe-fix-SSH-hang-again.patch b/msys2-runtime/0051-fixup-pipe-fix-SSH-hang-again.patch deleted file mode 100644 index ec02964e720..00000000000 --- a/msys2-runtime/0051-fixup-pipe-fix-SSH-hang-again.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 5e98c296689bd59e21e804f1273f27a1b829733f Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Mon, 30 Jun 2025 10:08:55 +0200 -Subject: [PATCH 51/N] fixup! pipe: fix SSH hang (again) - -This reverts the fix in preparation for integrating a newer iteration of -the fix. - -Signed-off-by: Johannes Schindelin ---- - winsup/cygwin/fhandler/pipe.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/winsup/cygwin/fhandler/pipe.cc b/winsup/cygwin/fhandler/pipe.cc -index 169c0bb..506dd09 100644 ---- a/winsup/cygwin/fhandler/pipe.cc -+++ b/winsup/cygwin/fhandler/pipe.cc -@@ -561,7 +561,7 @@ fhandler_pipe_fifo::raw_write (const void *ptr, size_t len) - ULONG len1; - DWORD waitret = WAIT_OBJECT_0; - -- if (left > chunk && !real_non_blocking_mode) -+ if (left > chunk && !is_nonblocking ()) - len1 = chunk; - else - len1 = (ULONG) left; diff --git a/msys2-runtime/0052-Cygwin-pipe-Fix-SSH-hang-with-non-cygwin-pipe-reader.patch b/msys2-runtime/0052-Cygwin-pipe-Fix-SSH-hang-with-non-cygwin-pipe-reader.patch deleted file mode 100644 index 8cac86bafc7..00000000000 --- a/msys2-runtime/0052-Cygwin-pipe-Fix-SSH-hang-with-non-cygwin-pipe-reader.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 0ae6a6fa743c0adca21e16bf8bc7baee6c3c2d0b Mon Sep 17 00:00:00 2001 -From: Takashi Yano -Date: Fri, 27 Jun 2025 20:40:13 +0900 -Subject: [PATCH 52/N] Cygwin: pipe: Fix SSH hang with non-cygwin pipe reader - -If ssh is used with non-cygwin pipe reader, ssh some times hangs. -This happens when non-cygwin git (Git for Windows) starts cygwin -ssh. The background of the bug is as follows. - -Before attempting to NtWriteFile() in raw_write() in non-blocking -mode, the amount of writable space in the pipe is checked by calling -NtQueryInformationFile with FilePipeLocalInformation parameter. -The same is also done by pipe_data_available() in select.cc. - -However, if the read side of the pipe is simultaneously consuming -data, NtQueryInformationFile() returns less value than the amount -of writable space, i.e. the amount of writable space minus the size -of buffer to be read. This does not happen when the reader is a -cygwin app because cygwin read() for the pipe attempts to read -the amount of the data in the pipe at most. This means NtReadFile() -never enters a pending state. However, if the reader is non-cygwin -app, this cannot be expected. As a workaround for this problem, -the code checking the pipe space temporarily attempts to toggle -the pipe-mode. If the pipe contains data, this operation fails -with STATUS_PIPE_BUSY indicating that the pipe is not empty. If -it succeeds, the pipe is considered empty. The current code uses -this technic only when NtQueryInformationFile() retuns zero. - -Therefore, if NtQueryInformationFile() returns 1, the amount of -writable space is assumed to be 1 even in the case that e.g. the -pipe size is 8192 bytes and reader is pending to read 8191 bytes. -Even worse, the current code fails to write more than 1 byte -to 1 byte pipe space due to the remnant of the past design. -Then the reader waits for data with 8191 bytes buffer while the -writer continues to fail to write to 1 byte space of the pipe. -This is the cause of the deadlock. - -In practice, when using Git for Windows in combination with Cygwin -SSH, it has been observed that a read of 8191 bytes is occasionally -issued against a pipe with 8192 bytes of available space. - -With this patch, the blocking-mode-toggling-check is performed -even if NtQueryInformationFile() returns non-zero value so that -the amount of the writable space in the pipe is always estimated -correctly. - -Addresses: https://github.com/git-for-windows/git/issues/5682 -Fixes: 7ed9adb356df ("Cygwin: pipe: Switch pipe mode to blocking mode by default") -Reported-by: Vincent-Liem (@github), Johannes Schindelin -Reviewed-by: -Signed-off-by: Takashi Yano -Signed-off-by: Johannes Schindelin ---- - winsup/cygwin/fhandler/pipe.cc | 15 ++++++++++----- - winsup/cygwin/select.cc | 5 +++-- - 2 files changed, 13 insertions(+), 7 deletions(-) - -diff --git a/winsup/cygwin/fhandler/pipe.cc b/winsup/cygwin/fhandler/pipe.cc -index 506dd09..219ae32 100644 ---- a/winsup/cygwin/fhandler/pipe.cc -+++ b/winsup/cygwin/fhandler/pipe.cc -@@ -491,9 +491,9 @@ fhandler_pipe_fifo::raw_write (const void *ptr, size_t len) - FilePipeLocalInformation); - if (NT_SUCCESS (status)) - { -- if (fpli.WriteQuotaAvailable != 0) -+ if (fpli.WriteQuotaAvailable == fpli.InboundQuota) - avail = fpli.WriteQuotaAvailable; -- else /* WriteQuotaAvailable == 0 */ -+ else /* WriteQuotaAvailable != InboundQuota */ - { /* Refer to the comment in select.cc: pipe_data_available(). */ - /* NtSetInformationFile() in set_pipe_non_blocking(true) seems - to fail with STATUS_PIPE_BUSY if the pipe is not empty. -@@ -506,9 +506,14 @@ fhandler_pipe_fifo::raw_write (const void *ptr, size_t len) - fh->set_pipe_non_blocking (false); - else if (status == STATUS_PIPE_BUSY) - { -- /* Full */ -- set_errno (EAGAIN); -- goto err; -+ if (fpli.WriteQuotaAvailable == 0) -+ { -+ /* Full */ -+ set_errno (EAGAIN); -+ goto err; -+ } -+ avail = fpli.WriteQuotaAvailable; -+ status = STATUS_SUCCESS; - } - } - } -diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc -index bb141b0..0b9afb3 100644 ---- a/winsup/cygwin/select.cc -+++ b/winsup/cygwin/select.cc -@@ -649,12 +649,13 @@ pipe_data_available (int fd, fhandler_base *fh, HANDLE h, int mode) - Therefore, we can distinguish these cases by calling set_pipe_non_ - blocking(true). If it returns success, the pipe is empty, so we - return the pipe buffer size. Otherwise, we return 0. */ -- if (fh->get_device () == FH_PIPEW && fpli.WriteQuotaAvailable == 0) -+ if (fh->get_device () == FH_PIPEW -+ && fpli.WriteQuotaAvailable < fpli.InboundQuota) - { - NTSTATUS status = - ((fhandler_pipe *) fh)->set_pipe_non_blocking (true); - if (status == STATUS_PIPE_BUSY) -- return 0; /* Full */ -+ return fpli.WriteQuotaAvailable; /* Not empty */ - else if (!NT_SUCCESS (status)) - /* We cannot know actual write pipe space. */ - return 1; diff --git a/msys2-runtime/0053-Cygwin-pipe-Update-source-comment-align-with-previou.patch b/msys2-runtime/0053-Cygwin-pipe-Update-source-comment-align-with-previou.patch deleted file mode 100644 index 8d762109f9e..00000000000 --- a/msys2-runtime/0053-Cygwin-pipe-Update-source-comment-align-with-previou.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 034c762b936996552fdb2602a803bdbac446eece Mon Sep 17 00:00:00 2001 -From: Takashi Yano -Date: Fri, 27 Jun 2025 20:40:14 +0900 -Subject: [PATCH 53/N] Cygwin: pipe; Update source comment align with previous - commit - -The commit "Cygwin: pipe: Fix SSH hang with non-cygwin pipe reader" -modifies how the amount of writable data is evaluated. This patch -updates the source comments to align with that change. - -Reviewed-by: -Signed-off-by: Takashi Yano -Signed-off-by: Johannes Schindelin ---- - winsup/cygwin/fhandler/pipe.cc | 8 ++--- - winsup/cygwin/select.cc | 54 ++++++++++++++++++---------------- - 2 files changed, 31 insertions(+), 31 deletions(-) - -diff --git a/winsup/cygwin/fhandler/pipe.cc b/winsup/cygwin/fhandler/pipe.cc -index 219ae32..4d5e685 100644 ---- a/winsup/cygwin/fhandler/pipe.cc -+++ b/winsup/cygwin/fhandler/pipe.cc -@@ -497,8 +497,8 @@ fhandler_pipe_fifo::raw_write (const void *ptr, size_t len) - { /* Refer to the comment in select.cc: pipe_data_available(). */ - /* NtSetInformationFile() in set_pipe_non_blocking(true) seems - to fail with STATUS_PIPE_BUSY if the pipe is not empty. -- In this case, the pipe is really full if WriteQuotaAvailable -- is zero. Otherwise, the pipe is empty. */ -+ In this case, WriteQuotaAvailable indicates real pipe space. -+ Otherwise, the pipe is empty. */ - status = fh->set_pipe_non_blocking (true); - if (NT_SUCCESS (status)) - /* Pipe should be empty because reader is waiting for data. */ -@@ -655,9 +655,7 @@ fhandler_pipe_fifo::raw_write (const void *ptr, size_t len) - if (io.Information > 0 || len <= PIPE_BUF || short_write_once) - break; - /* Independent of being blocking or non-blocking, if we're here, -- the pipe has less space than requested. If the pipe is a -- non-Cygwin pipe, just try the old strategy of trying a half -- write. If the pipe has at -+ the pipe has less space than requested. If the pipe has at - least PIPE_BUF bytes available, try to write all matching - PIPE_BUF sized blocks. If it's less than PIPE_BUF, try - the next less power of 2 bytes. This is not really the Linux -diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc -index 0b9afb3..701f4d9 100644 ---- a/winsup/cygwin/select.cc -+++ b/winsup/cygwin/select.cc -@@ -623,32 +623,34 @@ pipe_data_available (int fd, fhandler_base *fh, HANDLE h, int mode) - if (mode == PDA_WRITE) - { - /* If there is anything available in the pipe buffer then signal -- that. This means that a pipe could still block since you could -- be trying to write more to the pipe than is available in the -- buffer but that is the hazard of select(). -- -- Note that WriteQuotaAvailable is unreliable. -- -- Usually WriteQuotaAvailable on the write side reflects the space -- available in the inbound buffer on the read side. However, if a -- pipe read is currently pending, WriteQuotaAvailable on the write side -- is decremented by the number of bytes the read side is requesting. -- So it's possible (even likely) that WriteQuotaAvailable is 0, even -- if the inbound buffer on the read side is not full. This can lead to -- a deadlock situation: The reader is waiting for data, but select -- on the writer side assumes that no space is available in the read -- side inbound buffer. -- -- Consequentially, there are two possibilities when WriteQuotaAvailable -- is 0. One is that the buffer is really full. The other is that the -- reader is currently trying to read the pipe and it is pending. -- In the latter case, the fact that the reader cannot read the data -- immediately means that the pipe is empty. In the former case, -- NtSetInformationFile() in set_pipe_non_blocking(true) will fail -- with STATUS_PIPE_BUSY, while it succeeds in the latter case. -- Therefore, we can distinguish these cases by calling set_pipe_non_ -- blocking(true). If it returns success, the pipe is empty, so we -- return the pipe buffer size. Otherwise, we return 0. */ -+ that. This means that a pipe could still block since you could -+ be trying to write more to the pipe than is available in the -+ buffer but that is the hazard of select(). -+ -+ Note that WriteQuotaAvailable is unreliable. -+ -+ Usually WriteQuotaAvailable on the write side reflects the space -+ available in the inbound buffer on the read side. However, if a -+ pipe read is currently pending, WriteQuotaAvailable on the write side -+ is decremented by the number of bytes the read side is requesting. -+ So it's possible (even likely) that WriteQuotaAvailable is less than -+ actual space available in the pipe, even if the inbound buffer is -+ empty. This can lead to a deadlock situation: The reader is waiting -+ for data, but select on the writer side assumes that no space is -+ available in the read side inbound buffer. -+ -+ Consequentially, there are two possibilities when WriteQuotaAvailable -+ is less than pipe size. One is that the buffer is really not empty. -+ The other is that the reader is currently trying to read the pipe -+ and it is pending. -+ In the latter case, the fact that the reader cannot read the data -+ immediately means that the pipe is empty. In the former case, -+ NtSetInformationFile() in set_pipe_non_blocking(true) will fail -+ with STATUS_PIPE_BUSY, while it succeeds in the latter case. -+ Therefore, we can distinguish these cases by calling set_pipe_non_ -+ blocking(true). If it returns success, the pipe is empty, so we -+ return the pipe buffer size. Otherwise, we return the value of -+ WriteQuotaAvailable as is. */ - if (fh->get_device () == FH_PIPEW - && fpli.WriteQuotaAvailable < fpli.InboundQuota) - { diff --git a/msys2-runtime/0054-Cygwin-pipe-Make-pipe_data_available-return-PDA_UNKN.patch b/msys2-runtime/0054-Cygwin-pipe-Make-pipe_data_available-return-PDA_UNKN.patch deleted file mode 100644 index 4f013803682..00000000000 --- a/msys2-runtime/0054-Cygwin-pipe-Make-pipe_data_available-return-PDA_UNKN.patch +++ /dev/null @@ -1,135 +0,0 @@ -From 2f6e58433af2826e890cedbda94479610c78375d Mon Sep 17 00:00:00 2001 -From: Takashi Yano -Date: Fri, 27 Jun 2025 20:40:15 +0900 -Subject: [PATCH 54/N] Cygwin: pipe: Make pipe_data_available() return - PDA_UNKNOWN - -... rather than 1 when the pipe space estimation fails, so that -select() and raw_wrie() can perform appropriate fallback handling. -In select(), even if pipe space is unknown, return writable to avoid -deadlock. Even with select() returns writable, write() can blocked -anyway, if data is larger than pipe space. In raw_write(), if the -pipe is real non-blocking mode, attempting to write larger data than -pipe space is safe. Otherwise, return error. - -Reviewed-by: -Signed-off-by: Takashi Yano -Signed-off-by: Johannes Schindelin ---- - winsup/cygwin/fhandler/pipe.cc | 7 ++++--- - winsup/cygwin/local_includes/select.h | 3 +++ - winsup/cygwin/select.cc | 18 +++++++++--------- - 3 files changed, 16 insertions(+), 12 deletions(-) - -diff --git a/winsup/cygwin/fhandler/pipe.cc b/winsup/cygwin/fhandler/pipe.cc -index 4d5e685..f1cfcfc 100644 ---- a/winsup/cygwin/fhandler/pipe.cc -+++ b/winsup/cygwin/fhandler/pipe.cc -@@ -663,12 +663,13 @@ fhandler_pipe_fifo::raw_write (const void *ptr, size_t len) - in a very implementation-defined way we can't emulate, but it - resembles it closely enough to get useful results. */ - avail = pipe_data_available (-1, this, get_handle (), PDA_WRITE); -- if (avail < 1) /* error or pipe closed */ -+ if (avail == PDA_UNKNOWN && real_non_blocking_mode) -+ avail = len1; -+ else if (avail == 0 || !PDA_NOERROR (avail)) -+ /* error or pipe closed */ - break; - if (avail > len1) /* somebody read from the pipe */ - avail = len1; -- if (avail == 1) /* 1 byte left or non-Cygwin pipe */ -- len1 >>= 1; - else if (avail >= PIPE_BUF) - len1 = avail & ~(PIPE_BUF - 1); - else -diff --git a/winsup/cygwin/local_includes/select.h b/winsup/cygwin/local_includes/select.h -index 43ceb1d..afc05e1 100644 ---- a/winsup/cygwin/local_includes/select.h -+++ b/winsup/cygwin/local_includes/select.h -@@ -143,5 +143,8 @@ ssize_t pipe_data_available (int, fhandler_base *, HANDLE, int); - - #define PDA_READ 0x00 - #define PDA_WRITE 0x01 -+#define PDA_ERROR -1 -+#define PDA_UNKNOWN -2 -+#define PDA_NOERROR(x) (x >= 0) - - #endif /* _SELECT_H_ */ -diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc -index 701f4d9..050221a 100644 ---- a/winsup/cygwin/select.cc -+++ b/winsup/cygwin/select.cc -@@ -601,7 +601,7 @@ pipe_data_available (int fd, fhandler_base *fh, HANDLE h, int mode) - if (mode == PDA_READ - && PeekNamedPipe (h, NULL, 0, NULL, &nbytes_in_pipe, NULL)) - return nbytes_in_pipe; -- return -1; -+ return PDA_ERROR; - } - - IO_STATUS_BLOCK iosb = {{0}, 0}; -@@ -618,7 +618,7 @@ pipe_data_available (int fd, fhandler_base *fh, HANDLE h, int mode) - access on the write end. */ - select_printf ("fd %d, %s, NtQueryInformationFile failed, status %y", - fd, fh->get_name (), status); -- return (mode == PDA_WRITE) ? 1 : -1; -+ return (mode == PDA_WRITE) ? PDA_UNKNOWN : PDA_ERROR; - } - if (mode == PDA_WRITE) - { -@@ -660,7 +660,7 @@ pipe_data_available (int fd, fhandler_base *fh, HANDLE h, int mode) - return fpli.WriteQuotaAvailable; /* Not empty */ - else if (!NT_SUCCESS (status)) - /* We cannot know actual write pipe space. */ -- return 1; -+ return PDA_UNKNOWN; - /* Restore pipe mode to blocking mode */ - ((fhandler_pipe *) fh)->set_pipe_non_blocking (false); - /* Empty */ -@@ -684,7 +684,7 @@ pipe_data_available (int fd, fhandler_base *fh, HANDLE h, int mode) - return fpli.ReadDataAvailable; - } - if (fpli.NamedPipeState & FILE_PIPE_CLOSING_STATE) -- return -1; -+ return PDA_ERROR; - return 0; - } - -@@ -734,7 +734,7 @@ peek_pipe (select_record *s, bool from_select) - if (n == 0 && fh->get_echo_handle ()) - n = pipe_data_available (s->fd, fh, fh->get_echo_handle (), PDA_READ); - -- if (n < 0) -+ if (n == PDA_ERROR) - { - select_printf ("read: %s, n %d", fh->get_name (), n); - if (s->except_selected) -@@ -775,8 +775,8 @@ out: - } - ssize_t n = pipe_data_available (s->fd, fh, h, PDA_WRITE); - select_printf ("write: %s, n %d", fh->get_name (), n); -- gotone += s->write_ready = (n > 0); -- if (n < 0 && s->except_selected) -+ gotone += s->write_ready = (n > 0 || n == PDA_UNKNOWN); -+ if (n == PDA_ERROR && s->except_selected) - gotone += s->except_ready = true; - } - return gotone; -@@ -989,7 +989,7 @@ out: - ssize_t n = pipe_data_available (s->fd, fh, fh->get_handle (), PDA_WRITE); - select_printf ("write: %s, n %d", fh->get_name (), n); - gotone += s->write_ready = (n > 0); -- if (n < 0 && s->except_selected) -+ if (n == PDA_ERROR && s->except_selected) - gotone += s->except_ready = true; - } - return gotone; -@@ -1415,7 +1415,7 @@ out: - ssize_t n = pipe_data_available (s->fd, fh, h, PDA_WRITE); - select_printf ("write: %s, n %d", fh->get_name (), n); - gotone += s->write_ready = (n > 0); -- if (n < 0 && s->except_selected) -+ if (n == PDA_ERROR && s->except_selected) - gotone += s->except_ready = true; - } - return gotone; diff --git a/msys2-runtime/0055-Cygwin-console-Set-ENABLE_PROCESSED_INPUT-when-disab.patch b/msys2-runtime/0055-Cygwin-console-Set-ENABLE_PROCESSED_INPUT-when-disab.patch deleted file mode 100644 index a3bb42b92a0..00000000000 --- a/msys2-runtime/0055-Cygwin-console-Set-ENABLE_PROCESSED_INPUT-when-disab.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 7674c51e18b9323c0072c8299c9356a7d9511a4e Mon Sep 17 00:00:00 2001 -From: Takashi Yano -Date: Tue, 1 Jul 2025 17:10:34 +0900 -Subject: [PATCH 55/N] Cygwin: console: Set ENABLE_PROCESSED_INPUT when - disable_master_thread - -Currently, ENABLE_PROCESSED_INPUT is set in set_input_mode() if -master_thread_suspended is true. This enables Ctrl-C handling when -cons_master_thread is suspended, since Ctrl-C is normally handled -by cons_master_thread. -However, when disable_master_thread is true, ENABLE_PROCESSED_INPUT -is not set, even though this also disables Ctrl-C handling in -cons_master_thread. Due to this bug, the command - C:\cygwin64\bin\sleep 10 < NUL -in the Command Prompt cannot be terminated with Ctrl-C. - -This patch addresses the issue by setting ENABLE_PROCESSED_INPUT -when either disable_master_thread or master_thread_suspended is true. - -This bug also affects cases where non-Cygwin Git (Git for Windows) -launches Cygwin SSH. In such cases, SSH also cannot be terminated -with Ctrl-C. - -Addresses: https://github.com/git-for-windows/git/issues/5682#issuecomment-2995983695 -Fixes: 746c8116dd4f ("Cygwin: console: Allow pasting very long text input.") -Reported-by: Johannes Schindelin -Signed-off-by: Takashi Yano -(cherry picked from commit 476135a24506dd624eb46b50fd634fcd740008ba) -Cherry-picked-from: 61cc419b2b (Cygwin: console: Set ENABLE_PROCESSED_INPUT when disable_master_thread, 2025-07-01)) -Signed-off-by: Johannes Schindelin ---- - winsup/cygwin/fhandler/console.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/winsup/cygwin/fhandler/console.cc b/winsup/cygwin/fhandler/console.cc -index 08ac045..48c9326 100644 ---- a/winsup/cygwin/fhandler/console.cc -+++ b/winsup/cygwin/fhandler/console.cc -@@ -831,7 +831,7 @@ fhandler_console::set_input_mode (tty::cons_mode m, const termios *t, - break; - case tty::cygwin: - flags |= ENABLE_WINDOW_INPUT; -- if (con.master_thread_suspended) -+ if (con.master_thread_suspended || con.disable_master_thread) - flags |= ENABLE_PROCESSED_INPUT; - if (wincap.has_con_24bit_colors () && !con_is_legacy) - flags |= ENABLE_VIRTUAL_TERMINAL_INPUT; diff --git a/msys2-runtime/0056-Cygwin-console-Call-set_input_mode-after-changing-di.patch b/msys2-runtime/0056-Cygwin-console-Call-set_input_mode-after-changing-di.patch deleted file mode 100644 index c84309ed8af..00000000000 --- a/msys2-runtime/0056-Cygwin-console-Call-set_input_mode-after-changing-di.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 6673d8e1b8a1be0e06528735d5375e1891bbe997 Mon Sep 17 00:00:00 2001 -From: Takashi Yano -Date: Thu, 3 Jul 2025 10:51:09 +0900 -Subject: [PATCH 56/N] Cygwin: console: Call set_input_mode() after changing - disable_master_thread - -With the commit 476135a24506, set_input_mode() reffers to the flag -disable_master_thread in tty::cygwin mode. So it is necessary to call -set_input_mode() after changing disable_master_thread flag. However, -the commit 476135a24506 was missing that. - -With this patch, set_input_mode() is called after changing the flag -disable_master_thread, if the console input mode is tty::cygwin. - -Fixes: 476135a24506 ("Cygwin: console: Set ENABLE_PROCESSED_INPUT when disable_master_thread"); -Signed-off-by: Takashi Yano -Cherry-picked-from: 65a48c7202 (Cygwin: console: Call set_input_mode() after changing disable_master_thread, 2025-07-03) -Signed-off-by: Johannes Schindelin ---- - winsup/cygwin/fhandler/console.cc | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -diff --git a/winsup/cygwin/fhandler/console.cc b/winsup/cygwin/fhandler/console.cc -index 48c9326..831df4f 100644 ---- a/winsup/cygwin/fhandler/console.cc -+++ b/winsup/cygwin/fhandler/console.cc -@@ -923,12 +923,12 @@ fhandler_console::cleanup_for_non_cygwin_app (handle_set_t *p) - termios *ti = shared_console_info[unit] ? - &(shared_console_info[unit]->tty_min_state.ti) : &dummy; - /* Cleaning-up console mode for non-cygwin app. */ -+ set_disable_master_thread (con.owner == GetCurrentProcessId ()); - /* conmode can be tty::restore when non-cygwin app is - exec'ed from login shell. */ - tty::cons_mode conmode = cons_mode_on_close (p); - set_output_mode (conmode, ti, p); - set_input_mode (conmode, ti, p); -- set_disable_master_thread (con.owner == GetCurrentProcessId ()); - } - - /* Return the tty structure associated with a given tty number. If the -@@ -1121,8 +1121,8 @@ fhandler_console::bg_check (int sig, bool dontsignal) - in the same process group. */ - if (sig == SIGTTIN && con.curr_input_mode != tty::cygwin) - { -- set_input_mode (tty::cygwin, &tc ()->ti, get_handle_set ()); - set_disable_master_thread (false, this); -+ set_input_mode (tty::cygwin, &tc ()->ti, get_handle_set ()); - } - if (sig == SIGTTOU && con.curr_output_mode != tty::cygwin) - set_output_mode (tty::cygwin, &tc ()->ti, get_handle_set ()); -@@ -1987,8 +1987,8 @@ fhandler_console::post_open_setup (int fd) - /* Setting-up console mode for cygwin app started from non-cygwin app. */ - if (fd == 0) - { -- set_input_mode (tty::cygwin, &get_ttyp ()->ti, &handle_set); - set_disable_master_thread (false, this); -+ set_input_mode (tty::cygwin, &get_ttyp ()->ti, &handle_set); - } - else if (fd == 1 || fd == 2) - set_output_mode (tty::cygwin, &get_ttyp ()->ti, &handle_set); -@@ -2995,7 +2995,12 @@ fhandler_console::char_command (char c) - if (con.args[i] == 1) /* DECCKM */ - con.cursor_key_app_mode = (c == 'h'); - if (con.args[i] == 9001) /* win32-input-mode (https://github.com/microsoft/terminal/blob/main/doc/specs/%234999%20-%20Improved%20keyboard%20handling%20in%20Conpty.md) */ -- set_disable_master_thread (c == 'h', this); -+ { -+ set_disable_master_thread (c == 'h', this); -+ if (con.curr_input_mode == tty::cygwin) -+ set_input_mode (tty::cygwin, -+ &tc ()->ti, get_handle_set ()); -+ } - } - /* Call fix_tab_position() if screen has been alternated. */ - if (need_fix_tab_position) diff --git a/msys2-runtime/PKGBUILD b/msys2-runtime/PKGBUILD index 928fc2565b7..b9d532b0e6e 100644 --- a/msys2-runtime/PKGBUILD +++ b/msys2-runtime/PKGBUILD @@ -3,8 +3,8 @@ pkgbase=msys2-runtime pkgname=('msys2-runtime' 'msys2-runtime-devel') -pkgver=3.6.3 -pkgrel=7 +pkgver=3.6.4 +pkgrel=1 pkgdesc="Cygwin POSIX emulation engine" arch=('x86_64') url="https://www.cygwin.com/" @@ -27,120 +27,100 @@ makedepends=('cocom' 'docbook-xsl') source=('msys2-runtime'::git+https://github.com/cygwin/cygwin#tag=cygwin-${pkgver} msys2-runtime.commit - 0001-Add-MSYS2-triplet.patch - 0002-Fix-msys-library-name-in-import-libraries.patch - 0003-Rename-dll-from-cygwin-to-msys.patch - 0004-Add-functionality-for-converting-UNIX-paths-in-argum.patch - 0005-Add-functionality-for-changing-OS-name-via-MSYSTEM-e.patch - 0006-Move-root-to-usr.-Change-sorting-mount-points.-By-de.patch - 0007-Instead-of-creating-Cygwin-symlinks-use-deep-copy-by.patch - 0008-Automatically-rewrite-TERM-msys-to-TERM-cygwin.patch - 0009-Do-not-convert-environment-for-strace.patch - 0010-strace.cc-Don-t-set-MSYS-noglob.patch - 0011-Add-debugging-for-strace-make_command_line.patch - 0012-strace-quiet-be-really-quiet.patch - 0013-path_conv-special-case-root-directory-to-have-traili.patch - 0014-When-converting-to-a-Unix-path-avoid-double-trailing.patch - 0015-msys2_path_conv-pass-PC_NOFULL-to-path_conv.patch - 0016-path-conversion-Introduce-ability-to-switch-off-conv.patch - 0017-dcrt0.cc-Untangle-allow_glob-from-winshell.patch - 0018-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch - 0019-Add-debugging-for-build_argv.patch - 0020-environ.cc-New-facility-environment-variable-MSYS2_E.patch - 0021-Introduce-the-enable_pcon-value-for-MSYS.patch - 0022-popen-call-usr-bin-sh-instead-of-bin-sh.patch - 0023-Expose-full-command-lines-to-other-Win32-processes-b.patch - 0024-Add-a-helper-to-obtain-a-function-s-address-in-kerne.patch - 0025-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch - 0026-kill-kill-Win32-processes-more-gently.patch - 0027-Cygwin-make-option-for-native-inner-link-handling.patch - 0028-docs-skip-building-texinfo-and-PDF-files.patch - 0029-install-libs-depend-on-the-toollibs.patch - 0030-POSIX-ify-the-SHELL-variable.patch - 0031-Handle-ORIGINAL_PATH-just-like-PATH.patch - 0032-uname-allow-setting-the-system-name-to-CYGWIN.patch - 0033-Pass-environment-variables-with-empty-values.patch - 0034-Optionally-disallow-empty-environment-values-again.patch - 0035-build_env-respect-the-MSYS-environment-variable.patch - 0036-Revert-Cygwin-Enable-dynamicbase-on-the-Cygwin-DLL-b.patch - 0037-Avoid-sharing-cygheaps-across-Cygwin-versions.patch - 0038-uname-report-msys2-runtime-commit-hash-too.patch - 0039-Cygwin-Adjust-CWD-magic-to-accommodate-for-the-lates.patch - 0040-Handle-8-bit-characters-under-LOCALE-C.patch - 0041-Mention-the-extremely-useful-small_printf-function.patch - 0042-Fixed-path-converting-with-non-ascii-char.patch - 0043-Allow-native-symlinks-to-non-existing-targets-in-nat.patch - 0044-Make-paths-WCS-MBS-conversion-explicit.patch - 0045-Use-MB_CUR_MAX-6-by-default.patch - 0046-Change-the-default-base-address-for-x86_64.patch - 0047-msys2-runtime-restore-fast-path-for-current-user-pri.patch - 0048-Cygwin-Fix-compatibility-with-w32api-headers-v13.patch - 0049-symlink_native-allow-linking-to.patch - 0050-pipe-fix-SSH-hang-again.patch - 0051-fixup-pipe-fix-SSH-hang-again.patch - 0052-Cygwin-pipe-Fix-SSH-hang-with-non-cygwin-pipe-reader.patch - 0053-Cygwin-pipe-Update-source-comment-align-with-previou.patch - 0054-Cygwin-pipe-Make-pipe_data_available-return-PDA_UNKN.patch - 0055-Cygwin-console-Set-ENABLE_PROCESSED_INPUT-when-disab.patch - 0056-Cygwin-console-Call-set_input_mode-after-changing-di.patch) -sha256sums=('53d2be8a2dcf58e7eae7823ef01a5b8ce0eba704b132d19167396eb162db378c' - 'cf35ed71d4d740240a20e3fd075885302d859ac0a7178fc6a89619124539a81a' - '5538db757661949423563bab5e4f383dfa4ef0cf3301cf43f23b482392554b3b' - '2fb9b2b297797d20cd901eaee2de735e8cdda1c1e5836e9ff77856c0d1216860' - '780977d71e35bbe4c0dcda5272895267d68d635f311e224f7981858f7192a85e' - '49f3951de5af196c7d5193a879db7f464bb326e0da1411fe01b977c2d8042520' - '6554926f4366d8dbb0621aad27832931304183373655e0bdc2bc7c4a58419309' - '3bbb41f21e4f1d701d141e70e835077080a9ff4c171a969fe56b2c8205a94c77' - '96065bc7748b593ef1858fb3961f637e9100e608b4b937cc0c5acf51d2b21ccb' - 'f6c2af8d75a2a85bd37c319d37093eae5a7c47edb27d2e88237dca8d768d10db' - '45e91cf6baa54116c2ed54afb11f383e7d6c711d1c4845e3e0a93a91237a414f' - '72edb3383e983c29e9fbaa0880e652d71a20d9c33bcd4cd9d3afe0df7290051a' - '6a4164255ce02d2a73f3aac102ca28f37f58a3db68010823ccb5957df8bea33d' - 'eacc003fe3b57ebde0cbed2cfdd1816bf06164c921530718bb4adcc9ca0e3cef' - 'ee817a6799b9510809495373a3c5c19a948f777c1367c7da3965df8406e2eb3e' - 'be7613fb03f1c8b72ada024685997b20a6f5cfc55ce3059269d53f9dddd6686e' - '5709c1e951258933c259009b7117c382a67f02320145a0ac9442383431a72c5f' - '33ebf5db93b7354fc83c2627e25db1115821bbf7043816114991a723e2abbd3f' - '05e495dfd77cd653d28a14662cf72322d70233a75ea555927dc8ba7e358452e6' - 'ab1e7b54c6d5d9402fdbe1918169b4dff1d33f3f63c447bee3322a78ed5090a0' - 'e99eaeb1064518b0c56348b303560908d615c7578edcb0bbf2177c2290705cd6' - '96c56e12443fdc144554d61a2d2ddd707755758ced3f310a41f2c36fbcb020b1' - 'a31ad464e3afc7b63de83d64e382827cb13b969281fec9bb22f7e5aa78a64edd' - '9687bfe009dfafe46bfe63359959223577013e45226a84a12866e2dee6ce6c68' - 'fadb9ea6b830442dd55e9698b8ec146c3a53dc3d95185e572986c01af6db58ef' - 'fa2539671659839910ca345059f914f1d5de280bae1503205f890dd087dcd746' - 'd1e26fd0ded13d55a86cf2af674056215862451b32d5f19ecb46689ff51f0e4e' - 'c6fb087cee6385ac7f9c85c3ed997c051d7bf0229e04eb39cdfdb1112d19a4cf' - '5ceef009d6c59812d424987c290913867faba5e148e246ab14727449170f795f' - '13c7cc961a1eb67876f3fccfa6869670235a87a35b756e2ee88244becca3465a' - '4fa17ec74cd5f4e8b629c4a507f04e7f4bb86938bad0f68f78fa6178b4fd1ea5' - 'dd6dd7fdd4e0f7621d92ba18f67312c7e8b883b64e7dfb22951c3d9958e148c1' - 'fa8d5a48a2ffb3f25e94b88531adfbb342e4e8fe7b109c0d77ad07bd744f4a6b' - '9eff7ab161302780089d3f59f8b919591f713cf1b536ba1f495707f2f736a6c9' - '20b18c68911a6e9fa58f2a17b8501120fe975fb7ff7e1b84ce480d50e1cad9e9' - 'b964df5f121d4c74076cb1d214528809308b6051eefc2e456dc050d4a3a2851c' - '6829615a5d5ebaa88a3d665a9f7e28998fb3a0c1cdce80585a3657e400d70c53' - '081d6bcc119a7483d2e927504762170e6977543ad7d46e285624513aa95e54b5' - 'e2f58cba187f16b21df69dc3b7372f41bf2edfc543d136c62f85c83e0f22f3ad' - 'd8baf6e0e9c44a60d133f506fc91fa79043543266c6142918fad2c234cf4d0b5' - 'c5a5dd5645ce86f83824a2fe50ab3cc9df1211d2983bc18bbd11c608249e31b1' - '61973817f68a866e9cc5d8c651a4f76266883e30f5d4a59fdc7fe003073ebda2' - '48e56e25fc00b1a875339a8122df59d2f80709f3a234f126a480b8bc9865d21f' - '8918b61c802c401b2b45d86d698c279a5338d1d72828b88a8a27a503aedb5899' - '5d9aebff4a32e692ae49127c706335c435bfbfcb2b76a26fbd0bed3e391baf02' - 'a41a3bb4ccbe18063bcbf5b0dcd10c251937eb1ca24110f9abaa05bc9804f465' - '2eab02a9cc158d9f5fb33d66ae5e8f8fcfb67494d0387ae63f627f947a3ea957' - '8fbb38dc064d11599b2314311abfa632ec5a8da4786c716299e276abd29d7326' - '6db2e2a7e45125974de355fd685d3a652c1f17e5bd2a94606cbba33520d96624' - '37f4dcaab659da6f7730a7fdd855c91e51b642bd42820a7f35af514a866db7fd' - 'e2b046866637090bd9123fd2fcd00faac5d903e4b322959b9c13ea1161e786a2' - 'eeca52961120ff4d258045913faf9e482a44a4e058336b8206ad76002bbf0a65' - '0d6f7194e3c5052db24b5622d4b6d1ffac93a79b4266a1682993bf7af9b2ef35' - 'da17d0c9b64bc866b3b9bcbbeff0f3c109e494fd96d846f7920f08a48a1c9ce5' - 'b1acf1b24fa229da75cc522807fb76e94a5389449a652f250cf96151a6d20116' - 'de705488bd7572e09f0847ebd96bb8e5ff58f5dcaf7d4a967891939eb48ccf6b' - '7de98fef5c5a79563278fdaefe95d9715477422521da15d0a51cf8e507b797e3' - 'de6475de6d0e84edb9c26e7df33f98872d38d9d7534c128cbc32ae273d41de79') + 0001-Fix-msys-library-name-in-import-libraries.patch + 0002-Rename-dll-from-cygwin-to-msys.patch + 0003-Add-functionality-for-converting-UNIX-paths-in-argum.patch + 0004-Add-functionality-for-changing-OS-name-via-MSYSTEM-e.patch + 0005-Move-root-to-usr.-Change-sorting-mount-points.-By-de.patch + 0006-Instead-of-creating-Cygwin-symlinks-use-deep-copy-by.patch + 0007-Automatically-rewrite-TERM-msys-to-TERM-cygwin.patch + 0008-Do-not-convert-environment-for-strace.patch + 0009-strace.cc-Don-t-set-MSYS-noglob.patch + 0010-Add-debugging-for-strace-make_command_line.patch + 0011-strace-quiet-be-really-quiet.patch + 0012-path_conv-special-case-root-directory-to-have-traili.patch + 0013-When-converting-to-a-Unix-path-avoid-double-trailing.patch + 0014-msys2_path_conv-pass-PC_NOFULL-to-path_conv.patch + 0015-path-conversion-Introduce-ability-to-switch-off-conv.patch + 0016-dcrt0.cc-Untangle-allow_glob-from-winshell.patch + 0017-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch + 0018-Add-debugging-for-build_argv.patch + 0019-environ.cc-New-facility-environment-variable-MSYS2_E.patch + 0020-Introduce-the-enable_pcon-value-for-MSYS.patch + 0021-popen-call-usr-bin-sh-instead-of-bin-sh.patch + 0022-Expose-full-command-lines-to-other-Win32-processes-b.patch + 0023-Add-a-helper-to-obtain-a-function-s-address-in-kerne.patch + 0024-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch + 0025-kill-kill-Win32-processes-more-gently.patch + 0026-Cygwin-make-option-for-native-inner-link-handling.patch + 0027-docs-skip-building-texinfo-and-PDF-files.patch + 0028-install-libs-depend-on-the-toollibs.patch + 0029-POSIX-ify-the-SHELL-variable.patch + 0030-Handle-ORIGINAL_PATH-just-like-PATH.patch + 0031-uname-allow-setting-the-system-name-to-CYGWIN.patch + 0032-Pass-environment-variables-with-empty-values.patch + 0033-Optionally-disallow-empty-environment-values-again.patch + 0034-build_env-respect-the-MSYS-environment-variable.patch + 0035-Revert-Cygwin-Enable-dynamicbase-on-the-Cygwin-DLL-b.patch + 0036-Avoid-sharing-cygheaps-across-Cygwin-versions.patch + 0037-uname-report-msys2-runtime-commit-hash-too.patch + 0038-Cygwin-Adjust-CWD-magic-to-accommodate-for-the-lates.patch + 0039-Handle-8-bit-characters-under-LOCALE-C.patch + 0040-Mention-the-extremely-useful-small_printf-function.patch + 0041-Fixed-path-converting-with-non-ascii-char.patch + 0042-Allow-native-symlinks-to-non-existing-targets-in-nat.patch + 0043-Make-paths-WCS-MBS-conversion-explicit.patch + 0044-Use-MB_CUR_MAX-6-by-default.patch + 0045-Change-the-default-base-address-for-x86_64.patch + 0046-msys2-runtime-restore-fast-path-for-current-user-pri.patch) +sha256sums=('87a978317e2fdbb63515ee9d47b704a1a5230d306d25706277ef6bad7f2031d8' + 'e42fbaef06fa1dab5d3b5b3b87ba874514378f3048454b97c8d06b19aea88e82' + 'e991209b72f626db6912ba3c2ef909f98e2ac76fd27d89d999345da55a9dcf25' + 'ce5e398a11e9479be68fe1fb748909278a7a9b2eb5bd080adfeef67a44bcac3c' + 'ed84840e8c11ec9ccfad75d2f77ca528eafd6316579023f0c4644c192b03bf03' + '961b1bc9278ae3a001480fb87363acdc813eaf2637bb3337d7d6e6c9f0268394' + '138cdf02a1794fd9efb5de22794515c0cac46cf03e2ae527298d432e4d8b254f' + '787e7100b10d52978db69e4429c399086172b38123a3a5355692dfe412ce29dc' + 'e2ebd3512f8177acd1eabfd56a2ec9289cb6d6b88012ee8cd32aaae3cc6eab87' + '4e7ca904e9466f87a7ec667c4994d3d277daa5e076d29ad55f128c325ed7883f' + '035bb42cdcc159f75a4271ad115fccd5e49f26fbbb226b3a206ed956d95f5dc7' + 'ae54f0c36465025bb63dcf1730639326af4189f92c1754990d15200054aa84ce' + 'a84805f21ec73e5b61a3b7657c6bb5e266aec86282e43b56f36fce05d938466b' + '2656c0f81c99d31b345668175043c1d50aadbb5837fb8fb39b7a9d059b2d98d4' + 'e37fb046c5432e1123f0b7cbfe50a6aa15cdbb2ffd2c503f6477bec22f1413a0' + '99455166024be888dc7b56dbdb26e0a3290df5095fd2f600d2260e1bd81cd133' + '951c9692cc87ca92ee35c04948509deb254650892936fc2618c8b2aca913d62e' + 'ce3bb50f82850db98ce0ce890bfbc1d950e8537e3c9095bc96711eb13c50c3a1' + '843fd48ff908f1365a6a88dc0fd93623e81067d1def2fc0120dc4f6ca8b80636' + '5116d021074d4fe35e053921f4b9e85216c2fe8c29798323d582c1f7916dd8b5' + 'aba160d0d238dc6e33273803d06d4196329623fc00dd7ab7bb7d3917763f2104' + '020cc1ce253a6d8cbd7d172007af19d6218b10b4112e91b75355d61bcf0c3945' + '04c361efadda6d8b937402169cf855ce3da7c361ef7b514e1de61e6443d0754f' + '8437811cfcfe40848b9f0a7407a541694024c6da09eecf091f61736d3210e419' + '01ad7f59ea6a1c4a8819bddd00f2952fb9c6c21cfb33fd0e9630e25b7daf0197' + '82c4aef2fb641eba1b148010288c008017359c342ad0a6ca68173366888412ff' + '43467ab24f6f7a0f8106f5d9b75002cf8306c320e5d05c4fa76c54b9ea0081fb' + '87d84972827b2c4aac609438338cb7c996e84e75509eca56c2b64c62939b176c' + '2d19929785668028f091601a9633b189aaea8601bb5fb879888080b82bb09f53' + '89e2d7a97bc1735111d4853edfb0f8521df7f7400c39aa8c1edacdcc60d4d2cd' + 'e448fc4c46ad66040837b9950bc790bae1533d83f53b0cfe7affa028496709b3' + '131fe78cabdc0b151c3204b5eec34f2d9504ba98e9cc377e2491f10cf84a45d1' + 'b4f73ec648d6d9c9552d624204e9ff6d0a779e53aded657ef6a7c1eb340d7ee2' + '987b0148328110b05957a8f18164ba663dba7f3e4056fbce25639a49be6e1af4' + '07e3334208f0da36be7d4fcef7136ce1f7b2093bb1f53b2bfdd414b6f8dc4902' + '9d584559e80b5f5022259766a2ad9bcb0547099cd1b09d18ae7b1436a0e9778e' + '3b063a27b1dd139acbd6171bcc2d2a2ce6fd97f258a0fd391cd9e5a40d7575d5' + 'a8071d3e3e5dc578f86143e881f4d408df4b0734086e2881e0766e8ae47690d8' + '2db7709613ff9b93c4dde91d45447122a69e7382123a671964ad8aabe6e6b71a' + '6bc0179ce0c3099365b49d0b45c4f4cb0aefe2f8f49cdb26f3205039d00d793e' + '72129cfe52119fcd490656eb90fd7909816ea0cfca166461ce5327d6c4f896eb' + 'a1f8a372bfb48061084e0a721416f887674f08169d1318ecc9bf63917641078c' + '08666edee158be538352f5106f5a345dbfba2afa23e09c4bf2bf2f5ea848321f' + '325a823b1e4d0727c2d345a5374fbb1f92142a90f14f2544d8dc4c2ddb084250' + 'a7e019b834af850de95f07488f96a3260382994094f496f4bf5af0ed5072d0fc' + '37925f9129d2e44d90b4024ee01ffc3e7812b63683fb1a3cb565a1ae665fb80d' + '42b7b7b511ce3671ed135964e49f04f6d40d96b4831495dd2210b878b701892d' + '307db19fce2de05ee335dc8f4d3e12cd3e7ab6569a781c9f6aca93e5113e13df') # Helper macros to help make tasks easier # apply_patch_with_msg() { @@ -195,62 +175,52 @@ prepare() { winsup/utils/mingw/getprocaddr.c apply_git_am_with_msg \ \ - 0001-Add-MSYS2-triplet.patch \ - 0002-Fix-msys-library-name-in-import-libraries.patch \ - 0003-Rename-dll-from-cygwin-to-msys.patch \ - 0004-Add-functionality-for-converting-UNIX-paths-in-argum.patch \ - 0005-Add-functionality-for-changing-OS-name-via-MSYSTEM-e.patch \ - 0006-Move-root-to-usr.-Change-sorting-mount-points.-By-de.patch \ - 0007-Instead-of-creating-Cygwin-symlinks-use-deep-copy-by.patch \ - 0008-Automatically-rewrite-TERM-msys-to-TERM-cygwin.patch \ - 0009-Do-not-convert-environment-for-strace.patch \ - 0010-strace.cc-Don-t-set-MSYS-noglob.patch \ - 0011-Add-debugging-for-strace-make_command_line.patch \ - 0012-strace-quiet-be-really-quiet.patch \ - 0013-path_conv-special-case-root-directory-to-have-traili.patch \ - 0014-When-converting-to-a-Unix-path-avoid-double-trailing.patch \ - 0015-msys2_path_conv-pass-PC_NOFULL-to-path_conv.patch \ - 0016-path-conversion-Introduce-ability-to-switch-off-conv.patch \ - 0017-dcrt0.cc-Untangle-allow_glob-from-winshell.patch \ - 0018-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch \ - 0019-Add-debugging-for-build_argv.patch \ - 0020-environ.cc-New-facility-environment-variable-MSYS2_E.patch \ - 0021-Introduce-the-enable_pcon-value-for-MSYS.patch \ - 0022-popen-call-usr-bin-sh-instead-of-bin-sh.patch \ - 0023-Expose-full-command-lines-to-other-Win32-processes-b.patch \ - 0024-Add-a-helper-to-obtain-a-function-s-address-in-kerne.patch \ - 0025-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch \ - 0026-kill-kill-Win32-processes-more-gently.patch \ - 0027-Cygwin-make-option-for-native-inner-link-handling.patch \ - 0028-docs-skip-building-texinfo-and-PDF-files.patch \ - 0029-install-libs-depend-on-the-toollibs.patch \ - 0030-POSIX-ify-the-SHELL-variable.patch \ - 0031-Handle-ORIGINAL_PATH-just-like-PATH.patch \ - 0032-uname-allow-setting-the-system-name-to-CYGWIN.patch \ - 0033-Pass-environment-variables-with-empty-values.patch \ - 0034-Optionally-disallow-empty-environment-values-again.patch \ - 0035-build_env-respect-the-MSYS-environment-variable.patch \ - 0036-Revert-Cygwin-Enable-dynamicbase-on-the-Cygwin-DLL-b.patch \ - 0037-Avoid-sharing-cygheaps-across-Cygwin-versions.patch \ - 0038-uname-report-msys2-runtime-commit-hash-too.patch \ - 0039-Cygwin-Adjust-CWD-magic-to-accommodate-for-the-lates.patch \ - 0040-Handle-8-bit-characters-under-LOCALE-C.patch \ - 0041-Mention-the-extremely-useful-small_printf-function.patch \ - 0042-Fixed-path-converting-with-non-ascii-char.patch \ - 0043-Allow-native-symlinks-to-non-existing-targets-in-nat.patch \ - 0044-Make-paths-WCS-MBS-conversion-explicit.patch \ - 0045-Use-MB_CUR_MAX-6-by-default.patch \ - 0046-Change-the-default-base-address-for-x86_64.patch \ - 0047-msys2-runtime-restore-fast-path-for-current-user-pri.patch \ - 0048-Cygwin-Fix-compatibility-with-w32api-headers-v13.patch \ - 0049-symlink_native-allow-linking-to.patch \ - 0050-pipe-fix-SSH-hang-again.patch \ - 0051-fixup-pipe-fix-SSH-hang-again.patch \ - 0052-Cygwin-pipe-Fix-SSH-hang-with-non-cygwin-pipe-reader.patch \ - 0053-Cygwin-pipe-Update-source-comment-align-with-previou.patch \ - 0054-Cygwin-pipe-Make-pipe_data_available-return-PDA_UNKN.patch \ - 0055-Cygwin-console-Set-ENABLE_PROCESSED_INPUT-when-disab.patch \ - 0056-Cygwin-console-Call-set_input_mode-after-changing-di.patch + 0001-Fix-msys-library-name-in-import-libraries.patch \ + 0002-Rename-dll-from-cygwin-to-msys.patch \ + 0003-Add-functionality-for-converting-UNIX-paths-in-argum.patch \ + 0004-Add-functionality-for-changing-OS-name-via-MSYSTEM-e.patch \ + 0005-Move-root-to-usr.-Change-sorting-mount-points.-By-de.patch \ + 0006-Instead-of-creating-Cygwin-symlinks-use-deep-copy-by.patch \ + 0007-Automatically-rewrite-TERM-msys-to-TERM-cygwin.patch \ + 0008-Do-not-convert-environment-for-strace.patch \ + 0009-strace.cc-Don-t-set-MSYS-noglob.patch \ + 0010-Add-debugging-for-strace-make_command_line.patch \ + 0011-strace-quiet-be-really-quiet.patch \ + 0012-path_conv-special-case-root-directory-to-have-traili.patch \ + 0013-When-converting-to-a-Unix-path-avoid-double-trailing.patch \ + 0014-msys2_path_conv-pass-PC_NOFULL-to-path_conv.patch \ + 0015-path-conversion-Introduce-ability-to-switch-off-conv.patch \ + 0016-dcrt0.cc-Untangle-allow_glob-from-winshell.patch \ + 0017-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch \ + 0018-Add-debugging-for-build_argv.patch \ + 0019-environ.cc-New-facility-environment-variable-MSYS2_E.patch \ + 0020-Introduce-the-enable_pcon-value-for-MSYS.patch \ + 0021-popen-call-usr-bin-sh-instead-of-bin-sh.patch \ + 0022-Expose-full-command-lines-to-other-Win32-processes-b.patch \ + 0023-Add-a-helper-to-obtain-a-function-s-address-in-kerne.patch \ + 0024-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch \ + 0025-kill-kill-Win32-processes-more-gently.patch \ + 0026-Cygwin-make-option-for-native-inner-link-handling.patch \ + 0027-docs-skip-building-texinfo-and-PDF-files.patch \ + 0028-install-libs-depend-on-the-toollibs.patch \ + 0029-POSIX-ify-the-SHELL-variable.patch \ + 0030-Handle-ORIGINAL_PATH-just-like-PATH.patch \ + 0031-uname-allow-setting-the-system-name-to-CYGWIN.patch \ + 0032-Pass-environment-variables-with-empty-values.patch \ + 0033-Optionally-disallow-empty-environment-values-again.patch \ + 0034-build_env-respect-the-MSYS-environment-variable.patch \ + 0035-Revert-Cygwin-Enable-dynamicbase-on-the-Cygwin-DLL-b.patch \ + 0036-Avoid-sharing-cygheaps-across-Cygwin-versions.patch \ + 0037-uname-report-msys2-runtime-commit-hash-too.patch \ + 0038-Cygwin-Adjust-CWD-magic-to-accommodate-for-the-lates.patch \ + 0039-Handle-8-bit-characters-under-LOCALE-C.patch \ + 0040-Mention-the-extremely-useful-small_printf-function.patch \ + 0041-Fixed-path-converting-with-non-ascii-char.patch \ + 0042-Allow-native-symlinks-to-non-existing-targets-in-nat.patch \ + 0043-Make-paths-WCS-MBS-conversion-explicit.patch \ + 0044-Use-MB_CUR_MAX-6-by-default.patch \ + 0045-Change-the-default-base-address-for-x86_64.patch \ + 0046-msys2-runtime-restore-fast-path-for-current-user-pri.patch } build() { diff --git a/msys2-runtime/msys2-runtime.commit b/msys2-runtime/msys2-runtime.commit index 3fab320e1db..cc1204407cd 100644 --- a/msys2-runtime/msys2-runtime.commit +++ b/msys2-runtime/msys2-runtime.commit @@ -1 +1 @@ -772caa703db5d9303ab6b24009e80a377ee00b94 +b9f03e965a96c2c7e2e091fb4f10d2eafa8bd3cf