From 5121ffc1e51eba4232268c9b35cbde6817a0d8ee Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Fri, 12 May 2023 22:54:44 +0200 Subject: [PATCH] msys2-runtime: upgrade to v3.4.6 This corresponds to https://github.com/git-for-windows/msys2-runtime/pull/50. The `update-patches.sh` script had to be adjusted to reflect that Cygwin changed its tag naming scheme. Before, it was `cygwin--release` where the version had underscores instead of dots. Now, it is `cygwin-` with dots, not underscores. Also, the source URL changed to `git+https` but we obviously cannot clone from such a URL. Finally, the build no longer produces an `msys0.dll`, but a `new-msys-2.0.dll` and the Git for Windows-only code-signing step had to be adjusted accordingly. Signed-off-by: Johannes Schindelin --- msys2-runtime/0001-Add-MSYS2-triplet.patch | 1991 +---- ...sys-library-name-in-import-libraries.patch | 14 +- .../0003-Rename-dll-from-cygwin-to-msys.patch | 642 +- ...y-for-converting-UNIX-paths-in-argum.patch | 170 +- ...y-for-changing-OS-name-via-MSYSTEM-e.patch | 40 +- ....-Change-sorting-mount-points.-By-de.patch | 100 +- ...ing-Cygwin-symlinks-use-deep-copy-by.patch | 14 +- ...ly-rewrite-TERM-msys-to-TERM-cygwin.patch} | 16 +- ...o-not-convert-environment-for-strace.patch | 6 +- ...-converting-root-directory-to-have-t.patch | 55 - ...l-case-root-directory-to-have-traili.patch | 57 + ...cc-Untangle-allow_glob-from-winshell.patch | 8 +- ...-Don-t-quote-literal-strings-differe.patch | 4 +- ...0013-strace.cc-Don-t-set-MSYS-noglob.patch | 4 +- .../0014-Add-debugging-for-build_argv.patch | 4 +- ...bugging-for-strace-make_command_line.patch | 4 +- ...acility-environment-variable-MSYS2_E.patch | 67 +- ...mbolic-link-spawn-passing-wrong-arg0.patch | 6 +- ...erruptTime-must-be-load-from-kernel3.patch | 23 - ...> 0018-strace-quiet-be-really-quiet.patch} | 6 +- ...duce-the-enable_pcon-value-for-MSYS.patch} | 6 +- .../0020-Default-to-disable_pcon.patch | 51 - ...n-call-usr-bin-sh-instead-of-bin-sh.patch} | 14 +- ...nd-lines-to-other-Win32-processes-b.patch} | 16 +- ...o-not-show-Error-dialogs-by-default.patch} | 16 +- ...btain-a-function-s-address-in-kerne.patch} | 10 +- ...enerateConsoleCtrlEvent-upon-Ctrl-C.patch} | 12 +- ...ll-kill-Win32-processes-more-gently.patch} | 6 +- ...tion-for-native-inner-link-handling.patch} | 22 +- ...skip-building-texinfo-and-PDF-files.patch} | 32 +- ...install-libs-depend-on-the-toollibs.patch} | 10 +- ...> 0029-POSIX-ify-the-SHELL-variable.patch} | 30 +- ...Handle-ORIGINAL_PATH-just-like-PATH.patch} | 10 +- ...w-setting-the-system-name-to-CYGWIN.patch} | 24 +- ...ronment-variables-with-empty-values.patch} | 10 +- ...allow-empty-environment-values-again.patch | 57 + ...pport-the-dev-fd-symlink-and-friends.patch | 6639 ----------------- ...espect-the-MSYS-environment-variable.patch | 34 + ...rrect-path-conversion-trailing-slash.patch | 91 - ...to-a-Unix-path-avoid-double-trailing.patch | 33 + ...ath_conv-pass-PC_NOFULL-to-path_conv.patch | 38 + ...able-dynamicbase-on-the-Cygwin-DLL-b.patch | 28 + ...er-problem-when-libbfd-depends-on-l.patch} | 12 +- ...bug-message-for-posix-to-windows-con.patch | 23 - ...t-there-are-no-spaces-in-POSIX-styl.patch} | 6 +- ...dle-8-bit-characters-under-LOCALE-C.patch} | 12 +- ...y-recursion-in-find_path_start_and_t.patch | 28 - ...remely-useful-small_printf-function.patch} | 12 +- ...starting-with-a-tilde-or-quote-alone.patch | 4 +- ...e-and-message-arguments-alone-please.patch | 4 +- ...taining-any-special-characters-alone.patch | 4 +- .../0045-Leave-paths-containing-alone.patch | 4 +- ...x-to-windows-conversion-when-is-seen.patch | 4 +- ...-leave-Git-s-rev-.-name-syntax-alone.patch | 4 +- ...Arguments-starting-with-are-no-paths.patch | 4 +- ...p-style-arguments-from-being-mangled.patch | 4 +- ...-path-converting-with-non-ascii-char.patch | 4 +- ...Introduce-ability-to-switch-off-conv.patch | 4 +- ...-the-home-directory-via-the-HOME-var.patch | 34 +- ...-setting-even-for-the-SYSTEM-account.patch | 6 +- ...ome-env-setting-under-more-circumsta.patch | 10 +- ...links-to-non-existing-targets-in-nat.patch | 4 +- ...ke-paths-WCS-MBS-conversion-explicit.patch | 226 +- .../0057-Use-MB_CUR_MAX-6-by-default.patch | 4 +- ...-the-default-base-address-for-x86_64.patch | 14 +- ...ring-cygheaps-across-Cygwin-versions.patch | 97 +- ...eport-msys2-runtime-commit-hash-too.patch} | 72 +- ...ix-hangup-of-less-on-quit-after-the-.patch | 44 - ...ring-cygheaps-across-Cygwin-versions.patch | 129 - msys2-runtime/PKGBUILD | 357 +- msys2-runtime/README.md | 4 + msys2-runtime/msys2-runtime.commit | 2 +- msys2-runtime/update-patches.sh | 4 +- 73 files changed, 1399 insertions(+), 10161 deletions(-) rename msys2-runtime/{0008-Automatically-rewrite-TERM-msys-to-TERM-cygwin-With-.patch => 0008-Automatically-rewrite-TERM-msys-to-TERM-cygwin.patch} (70%) delete mode 100644 msys2-runtime/0010-Special-case-for-converting-root-directory-to-have-t.patch create mode 100644 msys2-runtime/0010-path_conv-special-case-root-directory-to-have-traili.patch delete mode 100644 msys2-runtime/0018-QueryUnbiasedInterruptTime-must-be-load-from-kernel3.patch rename msys2-runtime/{0019-strace-quiet-be-really-quiet.patch => 0018-strace-quiet-be-really-quiet.patch} (90%) rename msys2-runtime/{0021-Introduce-the-enable_pcon-value-for-MSYS.patch => 0019-Introduce-the-enable_pcon-value-for-MSYS.patch} (92%) delete mode 100644 msys2-runtime/0020-Default-to-disable_pcon.patch rename msys2-runtime/{0022-popen-call-usr-bin-sh-instead-of-bin-sh.patch => 0020-popen-call-usr-bin-sh-instead-of-bin-sh.patch} (66%) rename msys2-runtime/{0023-Expose-full-command-lines-to-other-Win32-processes-b.patch => 0021-Expose-full-command-lines-to-other-Win32-processes-b.patch} (81%) rename msys2-runtime/{0024-Do-not-show-Error-dialogs-by-default.patch => 0022-Do-not-show-Error-dialogs-by-default.patch} (87%) rename msys2-runtime/{0025-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} (97%) rename msys2-runtime/{0026-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch => 0024-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch} (98%) rename msys2-runtime/{0027-kill-kill-Win32-processes-more-gently.patch => 0025-kill-kill-Win32-processes-more-gently.patch} (91%) rename msys2-runtime/{0028-Cygwin-make-option-for-native-inner-link-handling.patch => 0026-Cygwin-make-option-for-native-inner-link-handling.patch} (76%) rename msys2-runtime/{0029-docs-skip-building-texinfo-and-PDF-files.patch => 0027-docs-skip-building-texinfo-and-PDF-files.patch} (53%) rename msys2-runtime/{0030-install-libs-depend-on-the-toollibs.patch => 0028-install-libs-depend-on-the-toollibs.patch} (74%) rename msys2-runtime/{0031-POSIX-ify-the-SHELL-variable.patch => 0029-POSIX-ify-the-SHELL-variable.patch} (82%) rename msys2-runtime/{0032-Handle-ORIGINAL_PATH-just-like-PATH.patch => 0030-Handle-ORIGINAL_PATH-just-like-PATH.patch} (89%) rename msys2-runtime/{0033-uname-allow-setting-the-system-name-to-CYGWIN.patch => 0031-uname-allow-setting-the-system-name-to-CYGWIN.patch} (78%) rename msys2-runtime/{0036-Pass-environment-variables-with-empty-values.patch => 0032-Pass-environment-variables-with-empty-values.patch} (84%) create mode 100644 msys2-runtime/0033-Optionally-disallow-empty-environment-values-again.patch delete mode 100644 msys2-runtime/0034-Implicitly-support-the-dev-fd-symlink-and-friends.patch create mode 100644 msys2-runtime/0034-build_env-respect-the-MSYS-environment-variable.patch delete mode 100644 msys2-runtime/0035-Fix-incorrect-path-conversion-trailing-slash.patch create mode 100644 msys2-runtime/0035-When-converting-to-a-Unix-path-avoid-double-trailing.patch create mode 100644 msys2-runtime/0036-msys2_path_conv-pass-PC_NOFULL-to-path_conv.patch create mode 100644 msys2-runtime/0037-Revert-Cygwin-Enable-dynamicbase-on-the-Cygwin-DLL-b.patch rename msys2-runtime/{0060-dumper-avoid-linker-problem-when-libbfd-depends-on-l.patch => 0038-dumper-avoid-linker-problem-when-libbfd-depends-on-l.patch} (81%) delete mode 100644 msys2-runtime/0039-Add-a-helpful-debug-message-for-posix-to-windows-con.patch rename msys2-runtime/{0040-Stop-assuming-that-there-are-no-spaces-in-POSIX-styl.patch => 0039-Stop-assuming-that-there-are-no-spaces-in-POSIX-styl.patch} (90%) rename msys2-runtime/{0037-Handle-8-bit-characters-under-LOCALE-C.patch => 0040-Handle-8-bit-characters-under-LOCALE-C.patch} (87%) delete mode 100644 msys2-runtime/0041-Avoid-unnecessary-recursion-in-find_path_start_and_t.patch rename msys2-runtime/{0038-Mention-the-extremely-useful-small_printf-function.patch => 0041-Mention-the-extremely-useful-small_printf-function.patch} (66%) rename msys2-runtime/{0063-uname-report-msys2-runtime-commit-hash-too.patch => 0060-uname-report-msys2-runtime-commit-hash-too.patch} (64%) delete mode 100644 msys2-runtime/0061-Cygwin-console-Fix-hangup-of-less-on-quit-after-the-.patch delete mode 100644 msys2-runtime/0062-amend-Avoid-sharing-cygheaps-across-Cygwin-versions.patch create mode 100644 msys2-runtime/README.md diff --git a/msys2-runtime/0001-Add-MSYS2-triplet.patch b/msys2-runtime/0001-Add-MSYS2-triplet.patch index 7f11830d7bc..60e2096d728 100644 --- a/msys2-runtime/0001-Add-MSYS2-triplet.patch +++ b/msys2-runtime/0001-Add-MSYS2-triplet.patch @@ -1,41 +1,27 @@ -From 1e32c73dcc76fdb430cebdca8e790a2486dcef56 Mon Sep 17 00:00:00 2001 +From a5b1a45284bbf466ae9061b65824487b42c92817 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 | 30 ++++++----- - newlib/configure.host | 8 +-- - newlib/iconvdata/configure | 30 ++++++----- - newlib/libc/configure | 30 ++++++----- - newlib/libc/machine/configure | 30 ++++++----- - newlib/libc/machine/i386/configure | 30 ++++++----- - newlib/libc/sys/configure | 30 ++++++----- - newlib/libc/sys/linux/configure | 30 ++++++----- - newlib/libc/sys/linux/linuxthreads/configure | 30 ++++++----- - .../sys/linux/linuxthreads/machine/configure | 30 ++++++----- - .../linux/linuxthreads/machine/i386/configure | 30 ++++++----- - newlib/libc/sys/linux/machine/configure | 30 ++++++----- - newlib/libc/sys/linux/machine/i386/configure | 30 ++++++----- - newlib/libm/configure | 30 ++++++----- - newlib/libm/machine/configure | 30 ++++++----- - newlib/libm/machine/i386/configure | 30 ++++++----- - 30 files changed, 362 insertions(+), 260 deletions(-) + 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 @@ -211,10 +197,10 @@ index 4542a4b..209bd8d 100644 esac if test x"${ac_cv_c_tkconfig}" = x ; then diff --git a/configure b/configure -index 5db5270..ad2739d 100755 +index eb0ba84..0badc34 100755 --- a/configure +++ b/configure -@@ -3036,7 +3036,7 @@ fi +@@ -3074,7 +3074,7 @@ fi # Configure extra directories which are host specific case "${host}" in @@ -223,7 +209,7 @@ index 5db5270..ad2739d 100755 configdirs="$configdirs libtermcap" ;; esac -@@ -3557,7 +3557,7 @@ esac +@@ -3595,7 +3595,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 @@ -232,7 +218,7 @@ index 5db5270..ad2739d 100755 unsupported_languages="$unsupported_languages go" ;; esac -@@ -3570,7 +3570,7 @@ if test x$enable_libgo = x; then +@@ -3608,7 +3608,7 @@ if test x$enable_libgo = x; then # PR 46986 noconfigdirs="$noconfigdirs target-libgo" ;; @@ -241,7 +227,7 @@ index 5db5270..ad2739d 100755 noconfigdirs="$noconfigdirs target-libgo" ;; *-*-aix*) -@@ -3842,7 +3842,7 @@ case "${target}" in +@@ -3880,7 +3880,7 @@ case "${target}" in i[3456789]86-*-mingw*) target_configdirs="$target_configdirs target-winsup" ;; @@ -250,7 +236,7 @@ index 5db5270..ad2739d 100755 target_configdirs="$target_configdirs target-libtermcap target-winsup" noconfigdirs="$noconfigdirs target-libgloss" # always build newlib if winsup directory is present. -@@ -3986,7 +3986,7 @@ case "${host}" in +@@ -4024,7 +4024,7 @@ case "${host}" in i[3456789]86-*-msdosdjgpp*) host_makefile_frag="config/mh-djgpp" ;; @@ -259,7 +245,7 @@ index 5db5270..ad2739d 100755 { $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; } -@@ -6130,7 +6130,7 @@ fi +@@ -6192,7 +6192,7 @@ fi target_elf=no case $target in @@ -268,7 +254,7 @@ index 5db5270..ad2739d 100755 *-msdosdjgpp* | *-vms* | *-wince* | *-*-pe* | \ alpha*-dec-osf* | hppa[12]*-*-hpux* | \ nvptx-*-none) -@@ -6148,7 +6148,7 @@ if test $target_elf = yes; then : +@@ -6210,7 +6210,7 @@ if test $target_elf = yes; then : else if test x"$default_enable_lto" = x"yes" ; then case $target in @@ -277,16 +263,16 @@ index 5db5270..ad2739d 100755 # On other non-ELF platforms, LTO has yet to be validated. *) enable_lto=no ;; esac -@@ -6159,7 +6159,7 @@ else +@@ -6221,7 +6221,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 + as_fn_error $? "LTO support is not enabled for this target." "$LINENO" 5 fi -@@ -6169,7 +6169,7 @@ else +@@ -6231,7 +6231,7 @@ else # Among non-ELF, only Windows platforms support the lto-plugin so far. # Build it unless LTO was explicitly disabled. case $target in @@ -295,7 +281,7 @@ index 5db5270..ad2739d 100755 *) ;; esac -@@ -7040,7 +7040,7 @@ rm -f conftest* +@@ -7102,7 +7102,7 @@ rm -f conftest* case "${host}" in *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;; *-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;; @@ -304,7 +290,7 @@ index 5db5270..ad2739d 100755 *) RPATH_ENVVAR=LD_LIBRARY_PATH ;; esac -@@ -7558,7 +7558,7 @@ case " $target_configdirs " in +@@ -7620,7 +7620,7 @@ case " $target_configdirs " in case " $target_configargs " in *" --with-newlib "*) case "$target" in @@ -314,7 +300,7 @@ index 5db5270..ad2739d 100755 ;; esac diff --git a/configure.ac b/configure.ac -index cf856e5..cb23f21 100644 +index f1bb721..f7fc8e9 100644 --- a/configure.ac +++ b/configure.ac @@ -409,7 +409,7 @@ AC_ARG_ENABLE(compressed_debug_sections, @@ -408,10 +394,10 @@ index cf856e5..cb23f21 100644 ;; esac diff --git a/libtool.m4 b/libtool.m4 -index 24d13f3..9a37fd7 100644 +index a216bb1..0d6d17a 100644 --- a/libtool.m4 +++ b/libtool.m4 -@@ -1491,7 +1491,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl +@@ -1521,7 +1521,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl lt_cv_sys_max_cmd_len=-1; ;; @@ -420,7 +406,7 @@ index 24d13f3..9a37fd7 100644 # 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, -@@ -1733,7 +1733,7 @@ else +@@ -1763,7 +1763,7 @@ else lt_cv_dlopen_libs= ;; @@ -429,7 +415,7 @@ index 24d13f3..9a37fd7 100644 lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; -@@ -2204,14 +2204,14 @@ bsdi[[45]]*) +@@ -2234,14 +2234,14 @@ bsdi[[45]]*) # libtool to hard-code these into programs ;; @@ -446,7 +432,7 @@ index 24d13f3..9a37fd7 100644 library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ -@@ -2232,6 +2232,12 @@ cygwin* | mingw* | pw32* | cegcc*) +@@ -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}' @@ -459,7 +445,7 @@ index 24d13f3..9a37fd7 100644 m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; -@@ -3001,7 +3007,7 @@ bsdi[[45]]*) +@@ -3021,7 +3027,7 @@ bsdi[[45]]*) lt_cv_file_magic_test_file=/shlib/libc.so ;; @@ -468,7 +454,7 @@ index 24d13f3..9a37fd7 100644 # 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' -@@ -3285,7 +3291,7 @@ AC_DEFUN([LT_LIB_M], +@@ -3307,7 +3313,7 @@ AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in @@ -477,7 +463,7 @@ index 24d13f3..9a37fd7 100644 # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) -@@ -3360,7 +3366,7 @@ case $host_os in +@@ -3382,7 +3388,7 @@ case $host_os in aix*) symcode='[[BCDT]]' ;; @@ -486,7 +472,7 @@ index 24d13f3..9a37fd7 100644 symcode='[[ABCDGISTW]]' ;; hpux*) -@@ -3607,7 +3613,7 @@ m4_if([$1], [CXX], [ +@@ -3629,7 +3635,7 @@ m4_if([$1], [CXX], [ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; @@ -495,7 +481,7 @@ index 24d13f3..9a37fd7 100644 # 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 -@@ -3920,7 +3926,7 @@ m4_if([$1], [CXX], [ +@@ -3942,7 +3948,7 @@ m4_if([$1], [CXX], [ # PIC is the default for these OSes. ;; @@ -504,7 +490,7 @@ index 24d13f3..9a37fd7 100644 # 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 -@@ -4003,7 +4009,7 @@ m4_if([$1], [CXX], [ +@@ -4025,7 +4031,7 @@ m4_if([$1], [CXX], [ fi ;; @@ -513,7 +499,7 @@ index 24d13f3..9a37fd7 100644 # 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], [], -@@ -4236,7 +4242,7 @@ m4_if([$1], [CXX], [ +@@ -4258,7 +4264,7 @@ m4_if([$1], [CXX], [ pw32*) _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; @@ -522,7 +508,7 @@ index 24d13f3..9a37fd7 100644 _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' ;; *) -@@ -4288,7 +4294,7 @@ dnl Note also adjust exclude_expsyms for C++ above. +@@ -4310,7 +4316,7 @@ dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in @@ -531,7 +517,7 @@ index 24d13f3..9a37fd7 100644 # 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++. -@@ -4403,7 +4409,7 @@ _LT_EOF +@@ -4425,7 +4431,7 @@ _LT_EOF fi ;; @@ -540,7 +526,7 @@ index 24d13f3..9a37fd7 100644 # _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' -@@ -4776,7 +4782,7 @@ _LT_EOF +@@ -4798,7 +4804,7 @@ _LT_EOF _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; @@ -549,7 +535,7 @@ index 24d13f3..9a37fd7 100644 # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is -@@ -5720,7 +5726,7 @@ if test "$_lt_caught_CXX_error" != yes; then +@@ -5742,7 +5748,7 @@ if test "$_lt_caught_CXX_error" != yes; then esac ;; @@ -809,134 +795,23 @@ index 5ef12ce..5e7bc34 100644 AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) diff --git a/newlib/configure b/newlib/configure -index 2771fa2..ea3740b 100755 +index 0b6ec15..d3171b4 100755 --- a/newlib/configure +++ b/newlib/configure -@@ -4304,7 +4304,7 @@ if test "${use_libtool}" = "yes"; then - enable_win32_dll=yes +@@ -4269,7 +4269,7 @@ else + fi - case $host in --*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) -+*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. - set dummy ${ac_tool_prefix}as; ac_word=$2 -@@ -6130,7 +6130,7 @@ else - 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, -@@ -6469,7 +6469,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' -@@ -7049,7 +7049,7 @@ case $host_os in - aix*) - symcode='[BCDT]' - ;; --cygwin* | mingw* | pw32* | cegcc*) -+cygwin* | msys* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; - hpux*) -@@ -8930,7 +8930,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - # 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 -@@ -9012,7 +9012,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - 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). - lt_prog_compiler_pic='-DDLL_EXPORT' -@@ -9474,7 +9474,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie - 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++. -@@ -9589,7 +9589,7 @@ _LT_EOF - fi - ;; - -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' -@@ -10020,7 +10020,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - export_dynamic_flag_spec=-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 -@@ -10921,14 +10921,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}`~ -@@ -10950,6 +10950,12 @@ cygwin* | mingw* | pw32* | cegcc*) - # 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}' - -+ 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}' -+ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) -@@ -11588,7 +11594,7 @@ else - lt_cv_dlopen_libs= - ;; - -- cygwin*) -+ cygwin* | msys*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; +-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 ef481ff..7dbf48f 100644 +index 32d1436..4e4c393 100644 --- a/newlib/configure.host +++ b/newlib/configure.host -@@ -201,7 +201,7 @@ case "${host_cpu}" in +@@ -194,7 +194,7 @@ case "${host_cpu}" in shared_machine_dir=shared_x86 # Don't use for these since they provide their own setjmp. case ${host} in @@ -945,1766 +820,30 @@ index ef481ff..7dbf48f 100644 ;; *) mach_add_setjmp=true -@@ -406,7 +406,7 @@ fi +@@ -399,7 +399,7 @@ fi if [ "x${newlib_mb}" = "x" ]; then case "${host}" in -- i[34567]86-pc-linux-*|*-*-cygwin*) -+ i[34567]86-pc-linux-*|*-*-cygwin*|*-*-msys*) +- *-*-cygwin*) ++ *-*-cygwin*|*-*-msys*) newlib_mb=yes ;; esac -@@ -440,7 +440,7 @@ esac +@@ -418,7 +418,7 @@ fi # THIS TABLE IS ALPHA SORTED. KEEP IT THAT WAY. case "${host}" in - *-*-cygwin*) + *-*-cygwin* | *-*-msys*) posix_dir=posix - stdio64_dir=stdio64 xdr_dir=xdr -@@ -644,7 +644,7 @@ esac + ;; +@@ -578,7 +578,7 @@ esac # THIS TABLE IS ALPHA SORTED. KEEP IT THAT WAY. case "${host}" in - *-*-cygwin*) + *-*-cygwin* | *-*-msys*) - test -z "$cygwin_srcdir" && cygwin_srcdir=`cd ${srcdir}/../winsup/cygwin; pwd` + test -z "$cygwin_srcdir" && cygwin_srcdir="${abs_newlib_basedir}/../winsup/cygwin" export cygwin_srcdir default_newlib_io_c99_formats="yes" -diff --git a/newlib/iconvdata/configure b/newlib/iconvdata/configure -index aaadeb8..f60bf17 100755 ---- a/newlib/iconvdata/configure -+++ b/newlib/iconvdata/configure -@@ -3892,7 +3892,7 @@ if test "${use_libtool}" = "yes"; then - enable_win32_dll=yes - - case $host in --*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) -+*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. - set dummy ${ac_tool_prefix}as; ac_word=$2 -@@ -5718,7 +5718,7 @@ else - 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, -@@ -6057,7 +6057,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' -@@ -6637,7 +6637,7 @@ case $host_os in - aix*) - symcode='[BCDT]' - ;; --cygwin* | mingw* | pw32* | cegcc*) -+cygwin* | msys* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; - hpux*) -@@ -8518,7 +8518,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - # 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 -@@ -8600,7 +8600,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - 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). - lt_prog_compiler_pic='-DDLL_EXPORT' -@@ -9062,7 +9062,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie - 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++. -@@ -9177,7 +9177,7 @@ _LT_EOF - fi - ;; - -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' -@@ -9608,7 +9608,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - export_dynamic_flag_spec=-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 -@@ -10509,14 +10509,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}`~ -@@ -10538,6 +10538,12 @@ cygwin* | mingw* | pw32* | cegcc*) - # 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}' - -+ 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}' -+ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) -@@ -11176,7 +11182,7 @@ else - lt_cv_dlopen_libs= - ;; - -- cygwin*) -+ cygwin* | msys*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; -diff --git a/newlib/libc/configure b/newlib/libc/configure -index 7367964..e169c18 100755 ---- a/newlib/libc/configure -+++ b/newlib/libc/configure -@@ -4018,7 +4018,7 @@ if test "${use_libtool}" = "yes"; then - enable_win32_dll=yes - - case $host in --*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) -+*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. - set dummy ${ac_tool_prefix}as; ac_word=$2 -@@ -5844,7 +5844,7 @@ else - 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, -@@ -6183,7 +6183,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' -@@ -6763,7 +6763,7 @@ case $host_os in - aix*) - symcode='[BCDT]' - ;; --cygwin* | mingw* | pw32* | cegcc*) -+cygwin* | msys* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; - hpux*) -@@ -8644,7 +8644,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - # PIC is the default for these OSes. - ;; - -- mingw* | cygwin* | pw32* | os2* | cegcc*) -+ mingw* | msys* | cygwin* | 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 -@@ -8726,7 +8726,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - fi - ;; - -- mingw* | cygwin* | pw32* | os2* | cegcc*) -+ mingw* | msys* | cygwin* | 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). - lt_prog_compiler_pic='-DDLL_EXPORT' -@@ -9188,7 +9188,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie - 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++. -@@ -9303,7 +9303,7 @@ _LT_EOF - fi - ;; - -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' -@@ -9734,7 +9734,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - export_dynamic_flag_spec=-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 -@@ -10635,14 +10635,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}`~ -@@ -10664,6 +10664,12 @@ cygwin* | mingw* | pw32* | cegcc*) - # 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}' - -+ 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}' -+ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) -@@ -11302,7 +11308,7 @@ else - lt_cv_dlopen_libs= - ;; - -- cygwin*) -+ cygwin* | msys*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; -diff --git a/newlib/libc/machine/configure b/newlib/libc/machine/configure -index 58d8726..b1c2f35 100755 ---- a/newlib/libc/machine/configure -+++ b/newlib/libc/machine/configure -@@ -3954,7 +3954,7 @@ if test "${use_libtool}" = "yes"; then - enable_win32_dll=yes - - case $host in --*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) -+*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. - set dummy ${ac_tool_prefix}as; ac_word=$2 -@@ -5780,7 +5780,7 @@ else - 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, -@@ -6119,7 +6119,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' -@@ -6699,7 +6699,7 @@ case $host_os in - aix*) - symcode='[BCDT]' - ;; --cygwin* | mingw* | pw32* | cegcc*) -+cygwin* | msys* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; - hpux*) -@@ -8580,7 +8580,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - # 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 -@@ -8662,7 +8662,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - 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). - lt_prog_compiler_pic='-DDLL_EXPORT' -@@ -9124,7 +9124,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie - 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++. -@@ -9239,7 +9239,7 @@ _LT_EOF - fi - ;; - -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' -@@ -9670,7 +9670,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - export_dynamic_flag_spec=-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 -@@ -10571,14 +10571,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}`~ -@@ -10600,6 +10600,12 @@ cygwin* | mingw* | pw32* | cegcc*) - # 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}' - -+ 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}' -+ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) -@@ -11238,7 +11244,7 @@ else - lt_cv_dlopen_libs= - ;; - -- cygwin*) -+ cygwin* | msys*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; -diff --git a/newlib/libc/machine/i386/configure b/newlib/libc/machine/i386/configure -index 215f983..c9d0862 100755 ---- a/newlib/libc/machine/i386/configure -+++ b/newlib/libc/machine/i386/configure -@@ -3894,7 +3894,7 @@ if test "${use_libtool}" = "yes"; then - enable_win32_dll=yes - - case $host in --*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) -+*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. - set dummy ${ac_tool_prefix}as; ac_word=$2 -@@ -5720,7 +5720,7 @@ else - 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, -@@ -6059,7 +6059,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' -@@ -6639,7 +6639,7 @@ case $host_os in - aix*) - symcode='[BCDT]' - ;; --cygwin* | mingw* | pw32* | cegcc*) -+cygwin* | msys* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; - hpux*) -@@ -8520,7 +8520,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - # 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 -@@ -8602,7 +8602,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - 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). - lt_prog_compiler_pic='-DDLL_EXPORT' -@@ -9064,7 +9064,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie - 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++. -@@ -9179,7 +9179,7 @@ _LT_EOF - fi - ;; - -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' -@@ -9610,7 +9610,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - export_dynamic_flag_spec=-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 -@@ -10511,14 +10511,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}`~ -@@ -10540,6 +10540,12 @@ cygwin* | mingw* | pw32* | cegcc*) - # 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}' - -+ 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}' -+ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) -@@ -11178,7 +11184,7 @@ else - lt_cv_dlopen_libs= - ;; - -- cygwin*) -+ cygwin* | msys*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; -diff --git a/newlib/libc/sys/configure b/newlib/libc/sys/configure -index e41f1cd..69bb7a5 100755 ---- a/newlib/libc/sys/configure -+++ b/newlib/libc/sys/configure -@@ -3924,7 +3924,7 @@ if test "${use_libtool}" = "yes"; then - enable_win32_dll=yes - - case $host in --*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) -+*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. - set dummy ${ac_tool_prefix}as; ac_word=$2 -@@ -5750,7 +5750,7 @@ else - 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, -@@ -6089,7 +6089,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' -@@ -6669,7 +6669,7 @@ case $host_os in - aix*) - symcode='[BCDT]' - ;; --cygwin* | mingw* | pw32* | cegcc*) -+cygwin* | msys* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; - hpux*) -@@ -8550,7 +8550,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - # 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 -@@ -8632,7 +8632,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - 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). - lt_prog_compiler_pic='-DDLL_EXPORT' -@@ -9094,7 +9094,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie - 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++. -@@ -9209,7 +9209,7 @@ _LT_EOF - fi - ;; - -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' -@@ -9640,7 +9640,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - export_dynamic_flag_spec=-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 -@@ -10541,14 +10541,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}`~ -@@ -10570,6 +10570,12 @@ cygwin* | mingw* | pw32* | cegcc*) - # 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}' - -+ 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}' -+ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) -@@ -11208,7 +11214,7 @@ else - lt_cv_dlopen_libs= - ;; - -- cygwin*) -+ cygwin* | msys*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; -diff --git a/newlib/libc/sys/linux/configure b/newlib/libc/sys/linux/configure -index d62b93b..debe952 100755 ---- a/newlib/libc/sys/linux/configure -+++ b/newlib/libc/sys/linux/configure -@@ -3940,7 +3940,7 @@ if test "${use_libtool}" = "yes"; then - enable_win32_dll=yes - - case $host in --*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) -+*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. - set dummy ${ac_tool_prefix}as; ac_word=$2 -@@ -5766,7 +5766,7 @@ else - 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, -@@ -6105,7 +6105,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' -@@ -6685,7 +6685,7 @@ case $host_os in - aix*) - symcode='[BCDT]' - ;; --cygwin* | mingw* | pw32* | cegcc*) -+cygwin* | msys* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; - hpux*) -@@ -8566,7 +8566,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - # PIC is the default for these OSes. - ;; - -- mingw* | cygwin* | pw32* | os2* | cegcc*) -+ mingw* | msys* | cygwin* | 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 -@@ -8648,7 +8648,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - fi - ;; - -- mingw* | cygwin* | pw32* | os2* | cegcc*) -+ mingw* | msys* | cygwin* | 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). - lt_prog_compiler_pic='-DDLL_EXPORT' -@@ -9110,7 +9110,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie - 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++. -@@ -9225,7 +9225,7 @@ _LT_EOF - fi - ;; - -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' -@@ -9656,7 +9656,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - export_dynamic_flag_spec=-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 -@@ -10557,14 +10557,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}`~ -@@ -10586,6 +10586,12 @@ cygwin* | mingw* | pw32* | cegcc*) - # 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}' - -+ 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}' -+ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) -@@ -11224,7 +11230,7 @@ else - lt_cv_dlopen_libs= - ;; - -- cygwin*) -+ cygwin* | msys*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; -diff --git a/newlib/libc/sys/linux/linuxthreads/configure b/newlib/libc/sys/linux/linuxthreads/configure -index dd08d43..f5e182b 100755 ---- a/newlib/libc/sys/linux/linuxthreads/configure -+++ b/newlib/libc/sys/linux/linuxthreads/configure -@@ -3938,7 +3938,7 @@ if test "${use_libtool}" = "yes"; then - enable_win32_dll=yes - - case $host in --*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) -+*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. - set dummy ${ac_tool_prefix}as; ac_word=$2 -@@ -5764,7 +5764,7 @@ else - 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, -@@ -6103,7 +6103,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' -@@ -6683,7 +6683,7 @@ case $host_os in - aix*) - symcode='[BCDT]' - ;; --cygwin* | mingw* | pw32* | cegcc*) -+cygwin* | msys* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; - hpux*) -@@ -8564,7 +8564,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - # 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 -@@ -8646,7 +8646,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - 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). - lt_prog_compiler_pic='-DDLL_EXPORT' -@@ -9108,7 +9108,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie - 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++. -@@ -9223,7 +9223,7 @@ _LT_EOF - fi - ;; - -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' -@@ -9654,7 +9654,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - export_dynamic_flag_spec=-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 -@@ -10555,14 +10555,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}`~ -@@ -10584,6 +10584,12 @@ cygwin* | mingw* | pw32* | cegcc*) - # 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}' - -+ 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}' -+ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) -@@ -11222,7 +11228,7 @@ else - lt_cv_dlopen_libs= - ;; - -- cygwin*) -+ cygwin* | msys*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; -diff --git a/newlib/libc/sys/linux/linuxthreads/machine/configure b/newlib/libc/sys/linux/linuxthreads/machine/configure -index b0ef17c..93a2a92 100755 ---- a/newlib/libc/sys/linux/linuxthreads/machine/configure -+++ b/newlib/libc/sys/linux/linuxthreads/machine/configure -@@ -3896,7 +3896,7 @@ if test "${use_libtool}" = "yes"; then - enable_win32_dll=yes - - case $host in --*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) -+*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. - set dummy ${ac_tool_prefix}as; ac_word=$2 -@@ -5722,7 +5722,7 @@ else - 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, -@@ -6061,7 +6061,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' -@@ -6641,7 +6641,7 @@ case $host_os in - aix*) - symcode='[BCDT]' - ;; --cygwin* | mingw* | pw32* | cegcc*) -+cygwin* | msys* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; - hpux*) -@@ -8522,7 +8522,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - # 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 -@@ -8604,7 +8604,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - 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). - lt_prog_compiler_pic='-DDLL_EXPORT' -@@ -9066,7 +9066,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie - 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++. -@@ -9181,7 +9181,7 @@ _LT_EOF - fi - ;; - -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' -@@ -9612,7 +9612,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - export_dynamic_flag_spec=-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 -@@ -10513,14 +10513,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}`~ -@@ -10542,6 +10542,12 @@ cygwin* | mingw* | pw32* | cegcc*) - # 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}' - -+ 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}' -+ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) -@@ -11180,7 +11186,7 @@ else - lt_cv_dlopen_libs= - ;; - -- cygwin*) -+ cygwin* | msys*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; -diff --git a/newlib/libc/sys/linux/linuxthreads/machine/i386/configure b/newlib/libc/sys/linux/linuxthreads/machine/i386/configure -index 238ddad..245726f 100755 ---- a/newlib/libc/sys/linux/linuxthreads/machine/i386/configure -+++ b/newlib/libc/sys/linux/linuxthreads/machine/i386/configure -@@ -3934,7 +3934,7 @@ if test "${use_libtool}" = "yes"; then - enable_win32_dll=yes - - case $host in --*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) -+*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. - set dummy ${ac_tool_prefix}as; ac_word=$2 -@@ -5760,7 +5760,7 @@ else - 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, -@@ -6099,7 +6099,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' -@@ -6679,7 +6679,7 @@ case $host_os in - aix*) - symcode='[BCDT]' - ;; --cygwin* | mingw* | pw32* | cegcc*) -+cygwin* | msys* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; - hpux*) -@@ -8560,7 +8560,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - # 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 -@@ -8642,7 +8642,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - 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). - lt_prog_compiler_pic='-DDLL_EXPORT' -@@ -9104,7 +9104,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie - 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++. -@@ -9219,7 +9219,7 @@ _LT_EOF - fi - ;; - -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' -@@ -9650,7 +9650,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - export_dynamic_flag_spec=-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 -@@ -10551,14 +10551,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}`~ -@@ -10580,6 +10580,12 @@ cygwin* | mingw* | pw32* | cegcc*) - # 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}' - -+ 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}' -+ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) -@@ -11218,7 +11224,7 @@ else - lt_cv_dlopen_libs= - ;; - -- cygwin*) -+ cygwin* | msys*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; -diff --git a/newlib/libc/sys/linux/machine/configure b/newlib/libc/sys/linux/machine/configure -index 75d4794..3e624ec 100755 ---- a/newlib/libc/sys/linux/machine/configure -+++ b/newlib/libc/sys/linux/machine/configure -@@ -3897,7 +3897,7 @@ if test "${use_libtool}" = "yes"; then - enable_win32_dll=yes - - case $host in --*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) -+*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. - set dummy ${ac_tool_prefix}as; ac_word=$2 -@@ -5723,7 +5723,7 @@ else - 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, -@@ -6062,7 +6062,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' -@@ -6642,7 +6642,7 @@ case $host_os in - aix*) - symcode='[BCDT]' - ;; --cygwin* | mingw* | pw32* | cegcc*) -+cygwin* | msys* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; - hpux*) -@@ -8523,7 +8523,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - # 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 -@@ -8605,7 +8605,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - 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). - lt_prog_compiler_pic='-DDLL_EXPORT' -@@ -9067,7 +9067,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie - 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++. -@@ -9182,7 +9182,7 @@ _LT_EOF - fi - ;; - -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' -@@ -9613,7 +9613,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - export_dynamic_flag_spec=-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 -@@ -10514,14 +10514,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}`~ -@@ -10543,6 +10543,12 @@ cygwin* | mingw* | pw32* | cegcc*) - # 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}' - -+ 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}' -+ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) -@@ -11181,7 +11187,7 @@ else - lt_cv_dlopen_libs= - ;; - -- cygwin*) -+ cygwin* | msys*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; -diff --git a/newlib/libc/sys/linux/machine/i386/configure b/newlib/libc/sys/linux/machine/i386/configure -index 7c5de77..ab10fc4 100755 ---- a/newlib/libc/sys/linux/machine/i386/configure -+++ b/newlib/libc/sys/linux/machine/i386/configure -@@ -3934,7 +3934,7 @@ if test "${use_libtool}" = "yes"; then - enable_win32_dll=yes - - case $host in --*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) -+*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. - set dummy ${ac_tool_prefix}as; ac_word=$2 -@@ -5760,7 +5760,7 @@ else - 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, -@@ -6099,7 +6099,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' -@@ -6679,7 +6679,7 @@ case $host_os in - aix*) - symcode='[BCDT]' - ;; --cygwin* | mingw* | pw32* | cegcc*) -+cygwin* | msys* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; - hpux*) -@@ -8560,7 +8560,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - # 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 -@@ -8642,7 +8642,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - 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). - lt_prog_compiler_pic='-DDLL_EXPORT' -@@ -9104,7 +9104,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie - 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++. -@@ -9219,7 +9219,7 @@ _LT_EOF - fi - ;; - -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' -@@ -9650,7 +9650,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - export_dynamic_flag_spec=-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 -@@ -10551,14 +10551,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}`~ -@@ -10580,6 +10580,12 @@ cygwin* | mingw* | pw32* | cegcc*) - # 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}' - -+ 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}' -+ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) -@@ -11218,7 +11224,7 @@ else - lt_cv_dlopen_libs= - ;; - -- cygwin*) -+ cygwin* | msys*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; -diff --git a/newlib/libm/configure b/newlib/libm/configure -index 0c79bb2..06f7042 100755 ---- a/newlib/libm/configure -+++ b/newlib/libm/configure -@@ -3958,7 +3958,7 @@ if test "${use_libtool}" = "yes"; then - enable_win32_dll=yes - - case $host in --*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) -+*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. - set dummy ${ac_tool_prefix}as; ac_word=$2 -@@ -5784,7 +5784,7 @@ else - 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, -@@ -6123,7 +6123,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' -@@ -6703,7 +6703,7 @@ case $host_os in - aix*) - symcode='[BCDT]' - ;; --cygwin* | mingw* | pw32* | cegcc*) -+cygwin* | msys* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; - hpux*) -@@ -8584,7 +8584,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - # 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 -@@ -8666,7 +8666,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - 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). - lt_prog_compiler_pic='-DDLL_EXPORT' -@@ -9128,7 +9128,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie - 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++. -@@ -9243,7 +9243,7 @@ _LT_EOF - fi - ;; - -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' -@@ -9674,7 +9674,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - export_dynamic_flag_spec=-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 -@@ -10575,14 +10575,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}`~ -@@ -10604,6 +10604,12 @@ cygwin* | mingw* | pw32* | cegcc*) - # 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}' - -+ 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}' -+ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) -@@ -11242,7 +11248,7 @@ else - lt_cv_dlopen_libs= - ;; - -- cygwin*) -+ cygwin* | msys*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; -diff --git a/newlib/libm/machine/configure b/newlib/libm/machine/configure -index 9380947..c74835e 100755 ---- a/newlib/libm/machine/configure -+++ b/newlib/libm/machine/configure -@@ -3907,7 +3907,7 @@ if test "${use_libtool}" = "yes"; then - enable_win32_dll=yes - - case $host in --*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) -+*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. - set dummy ${ac_tool_prefix}as; ac_word=$2 -@@ -5733,7 +5733,7 @@ else - 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, -@@ -6072,7 +6072,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' -@@ -6652,7 +6652,7 @@ case $host_os in - aix*) - symcode='[BCDT]' - ;; --cygwin* | mingw* | pw32* | cegcc*) -+cygwin* | msys* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; - hpux*) -@@ -8533,7 +8533,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - # 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 -@@ -8615,7 +8615,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - 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). - lt_prog_compiler_pic='-DDLL_EXPORT' -@@ -9077,7 +9077,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie - 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++. -@@ -9192,7 +9192,7 @@ _LT_EOF - fi - ;; - -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' -@@ -9623,7 +9623,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - export_dynamic_flag_spec=-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 -@@ -10524,14 +10524,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}`~ -@@ -10553,6 +10553,12 @@ cygwin* | mingw* | pw32* | cegcc*) - # 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}' - -+ 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}' -+ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) -@@ -11191,7 +11197,7 @@ else - lt_cv_dlopen_libs= - ;; - -- cygwin*) -+ cygwin* | msys*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; -diff --git a/newlib/libm/machine/i386/configure b/newlib/libm/machine/i386/configure -index eb2a870..3bf9d9f 100755 ---- a/newlib/libm/machine/i386/configure -+++ b/newlib/libm/machine/i386/configure -@@ -3892,7 +3892,7 @@ if test "${use_libtool}" = "yes"; then - enable_win32_dll=yes - - case $host in --*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) -+*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. - set dummy ${ac_tool_prefix}as; ac_word=$2 -@@ -5718,7 +5718,7 @@ else - 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, -@@ -6057,7 +6057,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' -@@ -6637,7 +6637,7 @@ case $host_os in - aix*) - symcode='[BCDT]' - ;; --cygwin* | mingw* | pw32* | cegcc*) -+cygwin* | msys* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; - hpux*) -@@ -8518,7 +8518,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - # 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 -@@ -8600,7 +8600,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } - 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). - lt_prog_compiler_pic='-DDLL_EXPORT' -@@ -9062,7 +9062,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie - 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++. -@@ -9177,7 +9177,7 @@ _LT_EOF - fi - ;; - -- cygwin* | mingw* | pw32* | cegcc*) -+ cygwin* | msys* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' -@@ -9608,7 +9608,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - export_dynamic_flag_spec=-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 -@@ -10509,14 +10509,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}`~ -@@ -10538,6 +10538,12 @@ cygwin* | mingw* | pw32* | cegcc*) - # 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}' - -+ 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}' -+ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) -@@ -11176,7 +11182,7 @@ else - lt_cv_dlopen_libs= - ;; - -- cygwin*) -+ cygwin* | msys*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; diff --git a/msys2-runtime/0002-Fix-msys-library-name-in-import-libraries.patch b/msys2-runtime/0002-Fix-msys-library-name-in-import-libraries.patch index 646ce43c866..d602b6ecd38 100644 --- a/msys2-runtime/0002-Fix-msys-library-name-in-import-libraries.patch +++ b/msys2-runtime/0002-Fix-msys-library-name-in-import-libraries.patch @@ -1,4 +1,4 @@ -From e78e1440c29bc5340ef5403af120a3101e11361d Mon Sep 17 00:00:00 2001 +From e6c92c6eaf63d328b94f7942a1173c2adb63f1f1 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 @@ -9,14 +9,14 @@ rename the output file name from `cygwin1.dll` to `msys-2.0.dll`. Let's preemptively fix up all the import libraries that would link against `msys_2_0.dll` to correctly link against `msys-2.0.dll` instead. --- - winsup/cygwin/speclib | 1 + + winsup/cygwin/scripts/speclib | 1 + 1 file changed, 1 insertion(+) -diff --git a/winsup/cygwin/speclib b/winsup/cygwin/speclib -index b900960..617a9c2 100755 ---- a/winsup/cygwin/speclib -+++ b/winsup/cygwin/speclib -@@ -37,6 +37,7 @@ while (<$nm_fd>) { +diff --git a/winsup/cygwin/scripts/speclib b/winsup/cygwin/scripts/speclib +index e6d4d8e..4dcadcb 100755 +--- a/winsup/cygwin/scripts/speclib ++++ b/winsup/cygwin/scripts/speclib +@@ -38,6 +38,7 @@ while (<$nm_fd>) { study; if (/ I _?(.*)_dll_iname/o) { $dllname = $1; diff --git a/msys2-runtime/0003-Rename-dll-from-cygwin-to-msys.patch b/msys2-runtime/0003-Rename-dll-from-cygwin-to-msys.patch index 4b845c4367f..1046c9d89f6 100644 --- a/msys2-runtime/0003-Rename-dll-from-cygwin-to-msys.patch +++ b/msys2-runtime/0003-Rename-dll-from-cygwin-to-msys.patch @@ -1,61 +1,57 @@ -From 27982ff1c2d32b2734328483dfed44ed0293825a Mon Sep 17 00:00:00 2001 +From 2c9d4a4a1e6c92e73d59a94bc6ff8e9f973b55c5 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 --- - winsup/Makefile.am | 2 +- - winsup/cygserver/Makefile.am | 2 +- - winsup/cygserver/transport_pipes.h | 4 +++ - winsup/cygwin/Makefile.am | 40 +++++++++++---------- - winsup/cygwin/common.din | 4 +-- - winsup/cygwin/crt0.c | 8 +++++ - winsup/cygwin/cyglsa.h | 4 +++ - winsup/cygwin/cygserver_setpwd.h | 4 +++ - winsup/cygwin/cygthread.cc | 2 +- - winsup/cygwin/cygwin.sc.in | 21 +++++++---- - winsup/cygwin/dcrt0.cc | 20 ++++++----- - winsup/cygwin/dlfcn.cc | 5 +++ - winsup/cygwin/dll_init.cc | 8 +++++ - winsup/cygwin/dtable.cc | 6 ++++ - winsup/cygwin/exceptions.cc | 4 +-- - winsup/cygwin/fhandler_pipe.cc | 4 +++ - winsup/cygwin/fhandler_tty.cc | 20 +++++++++++ - winsup/cygwin/fork.cc | 2 +- - winsup/cygwin/hookapi.cc | 4 +++ - winsup/cygwin/i686.din | 6 ++-- - winsup/cygwin/include/cygwin/cygwin_dll.h | 14 ++++---- - winsup/cygwin/include/cygwin/version.h | 8 +++++ - winsup/cygwin/lib/_cygwin_crt0_common.cc | 4 +++ - winsup/cygwin/lib/crt0.h | 4 +++ - winsup/cygwin/lib/cygwin_attach_dll.c | 8 +++++ - winsup/cygwin/lib/cygwin_crt0.c | 8 +++++ - winsup/cygwin/mkvers.sh | 6 ++-- - winsup/cygwin/pinfo.cc | 2 +- - winsup/cygwin/pseudo-reloc.cc | 2 +- - winsup/cygwin/sec_auth.cc | 16 ++++----- - winsup/cygwin/syscalls.cc | 4 +-- - winsup/cygwin/syslog.cc | 4 +++ - winsup/cygwin/winsup.h | 4 +++ - winsup/cygwin/winver.rc | 2 +- - winsup/cygwin/x86_64.din | 2 +- - winsup/testsuite/config/default.exp | 8 ++--- - winsup/testsuite/cygrun.c | 6 ++-- - winsup/testsuite/winsup.api/cygload.cc | 12 +++---- - winsup/testsuite/winsup.api/cygload.exp | 2 +- - winsup/testsuite/winsup.api/cygload.h | 2 +- - winsup/testsuite/winsup.api/winsup.exp | 2 +- - winsup/utils/ldd.cc | 2 +- - winsup/utils/loadlib.h | 6 ++-- - winsup/utils/mingw/cygcheck.cc | 43 +++++++++++------------ - winsup/utils/mingw/strace.cc | 11 +++--- - winsup/utils/path.cc | 12 +++---- - winsup/utils/ssp.c | 8 ++--- - 47 files changed, 246 insertions(+), 126 deletions(-) + winsup/Makefile.am | 2 +- + winsup/cygserver/Makefile.am | 2 +- + winsup/cygserver/transport_pipes.h | 4 ++ + winsup/cygwin/Makefile.am | 35 +++++++-------- + winsup/cygwin/crt0.c | 8 ++++ + winsup/cygwin/cygthread.cc | 2 +- + winsup/cygwin/cygwin.din | 6 +-- + winsup/cygwin/cygwin.sc.in | 4 ++ + winsup/cygwin/dcrt0.cc | 16 ++++--- + winsup/cygwin/dlfcn.cc | 5 +++ + winsup/cygwin/dll_init.cc | 4 ++ + winsup/cygwin/dtable.cc | 6 +++ + winsup/cygwin/exceptions.cc | 4 +- + winsup/cygwin/fhandler/pipe.cc | 4 ++ + winsup/cygwin/fhandler/pty.cc | 20 +++++++++ + winsup/cygwin/fork.cc | 2 +- + winsup/cygwin/hookapi.cc | 4 ++ + winsup/cygwin/include/cygwin/cygwin_dll.h | 10 ++--- + winsup/cygwin/include/cygwin/version.h | 8 ++++ + winsup/cygwin/lib/_cygwin_crt0_common.cc | 4 ++ + winsup/cygwin/lib/crt0.h | 4 ++ + winsup/cygwin/lib/cygwin_attach_dll.c | 8 ++++ + winsup/cygwin/lib/cygwin_crt0.c | 8 ++++ + .../cygwin/local_includes/cygserver_setpwd.h | 4 ++ + winsup/cygwin/pinfo.cc | 2 +- + winsup/cygwin/pseudo-reloc.cc | 2 +- + winsup/cygwin/scripts/mkvers.sh | 6 +-- + winsup/cygwin/sec/auth.cc | 8 ++-- + winsup/cygwin/syscalls.cc | 4 +- + winsup/cygwin/syslog.cc | 4 ++ + winsup/cygwin/winver.rc | 2 +- + winsup/testsuite/config/default.exp | 8 ++-- + winsup/testsuite/cygrun.c | 6 +-- + winsup/testsuite/winsup.api/cygload.cc | 12 +++--- + winsup/testsuite/winsup.api/cygload.exp | 2 +- + winsup/testsuite/winsup.api/cygload.h | 2 +- + winsup/testsuite/winsup.api/winsup.exp | 2 +- + winsup/utils/ldd.cc | 2 +- + winsup/utils/loadlib.h | 6 +-- + winsup/utils/mingw/cygcheck.cc | 43 +++++++++---------- + winsup/utils/mingw/strace.cc | 11 +++-- + winsup/utils/path.cc | 12 +++--- + winsup/utils/ssp.c | 8 ++-- + 43 files changed, 209 insertions(+), 107 deletions(-) diff --git a/winsup/Makefile.am b/winsup/Makefile.am -index 067f746..932882a 100644 +index 9efdd4c..0946152 100644 --- a/winsup/Makefile.am +++ b/winsup/Makefile.am @@ -8,7 +8,7 @@ @@ -97,10 +93,10 @@ 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 ca499bc..72471ea 100644 +index 167be81..a57d228 100644 --- a/winsup/cygwin/Makefile.am +++ b/winsup/cygwin/Makefile.am -@@ -37,15 +37,15 @@ newlib_build=$(target_builddir)/newlib +@@ -37,13 +37,13 @@ newlib_build=$(target_builddir)/newlib toollibdir=$(tooldir)/lib toolincludedir=$(tooldir)/include @@ -108,21 +104,19 @@ index ca499bc..72471ea 100644 +# Parameters used in building the msys-2.0.dll. -DLL_NAME=cygwin1.dll --TEST_DLL_NAME=cygwin0.dll -+DLL_NAME=msys-2.0.dll -+TEST_DLL_NAME=msys0.dll - DIN_FILE=@DIN_FILE@ +-NEW_DLL_NAME=new-cygwin1.dll -DEF_FILE=cygwin.def -+DEF_FILE=msys.def - TLSOFFSETS_H=@TLSOFFSETS_H@ -LIB_NAME=libcygwin.a -TEST_LIB_NAME=libcygwin0.a ++DLL_NAME=msys-2.0.dll ++NEW_DLL_NAME=new-msys-2.0.dll ++DEF_FILE=msys.def +LIB_NAME=libmsys-2.0.a +TEST_LIB_NAME=libmsys0.a # # sources -@@ -613,33 +613,33 @@ LIBSERVER = $(cygserver_blddir)/libcygserver.a +@@ -570,32 +570,32 @@ LIBSERVER = $(cygserver_blddir)/libcygserver.a $(LIBSERVER): $(MAKE) -C $(cygserver_blddir) libcygserver.a @@ -135,75 +129,64 @@ index ca499bc..72471ea 100644 # linker script LDSCRIPT=cygwin.sc $(LDSCRIPT): $(LDSCRIPT).in - $(CC) -E - -P < $^ -o $@ + $(AM_V_GEN)$(CC) -E - -P < $^ -o $@ -# cygwin dll +# msys-2.0 dll - $(TEST_DLL_NAME): $(LDSCRIPT) dllfixdbg libdll.a $(VERSION_OFILES) $(LIBSERVER)\ - $(newlib_build)/libm/libm.a $(newlib_build)/libc/libc.a - $(CXX) $(CXXFLAGS) \ + $(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 \ - -Wl,--gc-sections -nostdlib -Wl,-T$(LDSCRIPT) -static \ + -Wl,--gc-sections -nostdlib -Wl,-T$(LDSCRIPT) \ + -Wl,--dynamicbase -static \ - -Wl,--heap=0 -Wl,--out-implib,cygdll.a -shared -o $@ \ + -Wl,--heap=0 -Wl,--out-implib,msysdll.a -shared -o $@ \ -e @DLL_ENTRY@ $(DEF_FILE) \ -Wl,-whole-archive libdll.a -Wl,-no-whole-archive \ $(VERSION_OFILES) \ $(LIBSERVER) \ - $(newlib_build)/libm/libm.a \ - $(newlib_build)/libc/libc.a \ + $(newlib_build)/libm.a \ + $(newlib_build)/libc.a \ - -lgcc -lkernel32 -lntdll -Wl,-Map,cygwin.map -- $(srcdir)/dllfixdbg $(OBJDUMP) $(OBJCOPY) $@ cygwin1.dbg -- @ln -f $@ new-cygwin1.dll + -lgcc -lkernel32 -lntdll -Wl,-Map,msys.map -+ $(srcdir)/dllfixdbg $(OBJDUMP) $(OBJCOPY) $@ msys-2.0.dbg -+ @ln -f $@ new-msys-2.0.dll -# cygwin import library +# msys-2.0 import library toolopts=--cpu=@target_cpu@ --ar=@AR@ --as=@AS@ --nm=@NM@ --objcopy=@OBJCOPY@ - $(DEF_FILE): gendef $(srcdir)/$(TLSOFFSETS_H) $(DIN_FILE) common.din -@@ -652,17 +652,18 @@ sigfe.s: $(DEF_FILE) + $(DEF_FILE): scripts/gendef cygwin.din +@@ -608,17 +608,18 @@ sigfe.s: $(DEF_FILE) tlsoffsets LIBCOS=$(addsuffix .o,$(basename $(LIB_FILES))) - $(LIB_NAME): $(DEF_FILE) $(LIBCOS) | $(TEST_DLL_NAME) -- $(srcdir)/mkimport $(toolopts) $(NEW_FUNCTIONS) $@ cygdll.a $(wordlist 2,99,$^) -+ $(srcdir)/mkimport $(toolopts) $(NEW_FUNCTIONS) $@ msysdll.a $(wordlist 2,99,$^) + $(LIB_NAME): $(DEF_FILE) $(LIBCOS) | $(NEW_DLL_NAME) +- $(AM_V_GEN)$(srcdir)/scripts/mkimport $(toolopts) $(NEW_FUNCTIONS) $@ cygdll.a $(wordlist 2,99,$^) ++ $(AM_V_GEN)$(srcdir)/scripts/mkimport $(toolopts) $(NEW_FUNCTIONS) $@ msysdll.a $(wordlist 2,99,$^) -# cygwin import library used by testsuite +# msys-2.0 import library used by testsuite $(TEST_LIB_NAME): $(LIB_NAME) -- perl -p -e 'BEGIN{binmode(STDIN); binmode(STDOUT);}; s/cygwin1/cygwin0/g' < $? > $@ -+ perl -p -e 'BEGIN{binmode(STDIN); binmode(STDOUT);}; s/msys-2.0/msys0/g' < $? > $@ +- $(AM_V_GEN)perl -p -e 'BEGIN{binmode(STDIN); binmode(STDOUT);}; s/cygwin1/cygwin0/g' < $? > $@ ++ $(AM_V_GEN)perl -p -e 'BEGIN{binmode(STDIN); binmode(STDOUT);}; s/msys-2.0/msys0/g' < $? > $@ # sublibs # import libraries for some subset of symbols indicated by given objects speclib=\ - $(srcdir)/speclib $(toolopts) \ + $(srcdir)/scripts/speclib $(toolopts) \ --exclude='cygwin' \ + --exclude='msys' \ --exclude='(?i:dll)' \ --exclude='reloc' \ --exclude='^main$$' \ -@@ -709,7 +710,7 @@ all-local: $(LIB_NAME) $(TEST_LIB_NAME) $(SUBLIBS) +@@ -665,7 +666,7 @@ all-local: $(LIB_NAME) $(TEST_LIB_NAME) $(SUBLIBS) clean-local: -rm -f $(BUILT_SOURCES) -rm -f $(DEF_FILE) sigfe.s -- -rm -f cygwin.sc cygdll.a cygwin.map $(TEST_DLL_NAME) cygwin1.dbg new-cygwin1.dll -+ -rm -f cygwin.sc msysdll.a msys.map $(TEST_DLL_NAME) msys-2.0.dbg new-msys-2.0.dll +- -rm -f cygwin.sc cygdll.a cygwin.map ++ -rm -f cygwin.sc msysdll.a msys.map + -rm -f $(NEW_DLL_NAME) -rm -f $(LIB_NAME) $(TEST_LIB_NAME) $(SUBLIBS) -rm -f version.cc - -@@ -729,6 +730,7 @@ install-libs: - @$(MKDIR_P) $(DESTDIR)$(bindir) - $(INSTALL_PROGRAM) $(TEST_DLL_NAME) $(DESTDIR)$(bindir)/$(DLL_NAME) - @$(MKDIR_P) $(DESTDIR)$(toollibdir) -+ $(INSTALL_DATA) msys-2.0.dbg $(DESTDIR)$(bindir)/msys-2.0.dbg - (cd $(DESTDIR)$(toollibdir) && ln -sf $(LIB_NAME) libg.a) - - install-headers: -@@ -751,7 +753,7 @@ install-ldif: +@@ -709,7 +710,7 @@ install-ldif: uninstall-hook: uninstall-headers uninstall-ldif uninstall-libs uninstall-libs: @@ -212,26 +195,11 @@ index ca499bc..72471ea 100644 rm -f $(DESTDIR)$(toollibdir)/libg.a uninstall-headers: -diff --git a/winsup/cygwin/common.din b/winsup/cygwin/common.din -index 63fa09a..41d3041 100644 ---- a/winsup/cygwin/common.din -+++ b/winsup/cygwin/common.din -@@ -390,8 +390,8 @@ cygwin_attach_handle_to_fd SIGFE - cygwin_conv_path SIGFE - cygwin_conv_path_list SIGFE - cygwin_create_path SIGFE --cygwin_detach_dll SIGFE_MAYBE --cygwin_dll_init NOSIGFE -+msys_detach_dll SIGFE_MAYBE -+msys_dll_init NOSIGFE - cygwin_internal NOSIGFE - cygwin_logon_user SIGFE - cygwin_posix_path_list_p NOSIGFE diff --git a/winsup/cygwin/crt0.c b/winsup/cygwin/crt0.c -index ec7959a..cf74961 100644 +index 1096e58..3160df4 100644 --- a/winsup/cygwin/crt0.c +++ b/winsup/cygwin/crt0.c -@@ -14,7 +14,11 @@ details. */ +@@ -9,12 +9,20 @@ details. */ extern int main (int argc, char **argv); @@ -241,9 +209,6 @@ index ec7959a..cf74961 100644 void cygwin_crt0 (int (*main) (int, char **)); +#endif - #ifdef __i386__ - __attribute__ ((force_align_arg_pointer)) -@@ -22,7 +26,11 @@ __attribute__ ((force_align_arg_pointer)) void mainCRTStartup () { @@ -255,40 +220,8 @@ index ec7959a..cf74961 100644 /* These are never actually called. They are just here to force the inclusion of things like -lbinmode. */ -diff --git a/winsup/cygwin/cyglsa.h b/winsup/cygwin/cyglsa.h -index f9da707..120c0a9 100644 ---- a/winsup/cygwin/cyglsa.h -+++ b/winsup/cygwin/cyglsa.h -@@ -14,7 +14,11 @@ Cygwin license. Please consult the file "CYGWIN_LICENSE" for details. */ - extern "C" { - #endif - -+#ifdef __MSYS__ -+#define CYG_LSA_PKGNAME "MSYSLsa" -+#else - #define CYG_LSA_PKGNAME "CygwinLsa" -+#endif - - #define CYG_LSA_MAGIC_OLD1 0x0379f014LU - /* First change to cyglsa_t. -diff --git a/winsup/cygwin/cygserver_setpwd.h b/winsup/cygwin/cygserver_setpwd.h -index fc1576b..b297511 100644 ---- a/winsup/cygwin/cygserver_setpwd.h -+++ b/winsup/cygwin/cygserver_setpwd.h -@@ -12,7 +12,11 @@ details. */ - #include - #include "cygserver.h" - -+#ifdef __MSYS__ -+#define CYGWIN_LSA_KEY_PREFIX L"L$MSYS_" -+#else - #define CYGWIN_LSA_KEY_PREFIX L"L$CYGWIN_" -+#endif - - #ifndef __INSIDE_CYGWIN__ - class transport_layer_base; diff --git a/winsup/cygwin/cygthread.cc b/winsup/cygwin/cygthread.cc -index 66a3179..11c21d8 100644 +index 54918e7..518d11f 100644 --- a/winsup/cygwin/cygthread.cc +++ b/winsup/cygwin/cygthread.cc @@ -170,7 +170,7 @@ new (size_t) @@ -300,11 +233,32 @@ index 66a3179..11c21d8 100644 api_fatal ("overflowed cygwin thread pool"); else thread_printf ("overflowed cygwin thread pool"); +diff --git a/winsup/cygwin/cygwin.din b/winsup/cygwin/cygwin.din +index c6768e4..ebca74d 100644 +--- a/winsup/cygwin/cygwin.din ++++ b/winsup/cygwin/cygwin.din +@@ -1,4 +1,4 @@ +-LIBRARY "cygwin1.dll" BASE=0x180040000 ++LIBRARY "msys-2.0.dll" BASE=0x180040000 + + EXPORTS + # Exported variables +@@ -399,8 +399,8 @@ cygwin_attach_handle_to_fd SIGFE + cygwin_conv_path SIGFE + cygwin_conv_path_list SIGFE + cygwin_create_path SIGFE +-cygwin_detach_dll SIGFE_MAYBE +-cygwin_dll_init NOSIGFE ++msys_detach_dll SIGFE_MAYBE ++msys_dll_init NOSIGFE + cygwin_internal NOSIGFE + cygwin_logon_user SIGFE + cygwin_posix_path_list_p NOSIGFE diff --git a/winsup/cygwin/cygwin.sc.in b/winsup/cygwin/cygwin.sc.in -index 293d2ab..264e240 100644 +index 69526f5..4dc5dae 100644 --- a/winsup/cygwin/cygwin.sc.in +++ b/winsup/cygwin/cygwin.sc.in -@@ -1,10 +1,18 @@ +@@ -1,6 +1,10 @@ #ifdef __x86_64__ OUTPUT_FORMAT(pei-x86-64) +# ifdef __MSYS__ @@ -313,50 +267,15 @@ index 293d2ab..264e240 100644 SEARCH_DIR("/usr/x86_64-pc-cygwin/lib/w32api"); SEARCH_DIR("=/usr/lib/w32api"); +# endif #else - #undef i386 - OUTPUT_FORMAT(pei-i386) -+# ifdef __MSYS__ -+SEARCH_DIR("/usr/i686-pc-msys/lib/w32api"); SEARCH_DIR("=/usr/lib/w32api"); -+# else - SEARCH_DIR("/usr/i686-pc-cygwin/lib/w32api"); SEARCH_DIR("=/usr/lib/w32api"); -+# endif + #error unimplemented for this target #endif - #define __CONCAT1(a,b) a##b - #define __CONCAT(a,b) __CONCAT1(a,b) -@@ -115,13 +123,14 @@ SECTIONS - } - .gnu_debuglink_overlay ALIGN(__section_alignment__) (NOLOAD): - { -- BYTE(0) /* c */ -+ BYTE(0) /* m */ -+ BYTE(0) /* s */ - BYTE(0) /* y */ -- BYTE(0) /* g */ -- BYTE(0) /* w */ -- BYTE(0) /* i */ -- BYTE(0) /* n */ -- BYTE(0) /* 1 */ -+ BYTE(0) /* s */ -+ BYTE(0) /* - */ -+ BYTE(0) /* 2 */ -+ BYTE(0) /* . */ -+ BYTE(0) /* 0 */ - BYTE(0) /* . */ - BYTE(0) /* d */ - BYTE(0) /* b */ diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc -index 28b5146..ee75d3b 100644 +index 49b7a44..4157bfe 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc -@@ -378,21 +378,21 @@ check_sanity_and_sync (per_process *p) +@@ -376,12 +376,12 @@ check_sanity_and_sync (per_process *p) - /* Complain if older than last incompatible change */ - if (p->dll_major < CYGWIN_VERSION_DLL_EPOCH) -- api_fatal ("cygwin DLL and APP are out of sync -- DLL version mismatch %u < %u", -+ api_fatal ("msys DLL and APP are out of sync -- DLL version mismatch %u < %u", - p->dll_major, CYGWIN_VERSION_DLL_EPOCH); - - /* magic_biscuit != 0 if using the old style version numbering scheme. */ + /* magic_biscuit must be SIZEOF_PER_PROCESS. */ if (p->magic_biscuit != SIZEOF_PER_PROCESS) - api_fatal ("Incompatible cygwin .dll -- incompatible per_process info %u != %u", + api_fatal ("Incompatible msys .dll -- incompatible per_process info %u != %u", @@ -367,14 +286,9 @@ index 28b5146..ee75d3b 100644 - api_fatal ("cygwin DLL and APP are out of sync -- API version mismatch %u > %u", + api_fatal ("msys DLL and APP are out of sync -- API version mismatch %u > %u", p->api_major, cygwin_version.api_major); + } - #ifdef __i386__ -- /* This is a kludge to work around a version of _cygwin_common_crt0 -+ /* This is a kludge to work around a version of _msys_common_crt0 - which overwrote the cxx_malloc field with the local DLL copy. - Hilarity ensues if the DLL is not loaded while the process - is forking. */ -@@ -491,12 +491,12 @@ break_here () +@@ -476,12 +476,12 @@ break_here () static void initial_env () { @@ -389,7 +303,7 @@ index 28b5146..ee75d3b 100644 { char buf1[PATH_MAX]; GetModuleFileName (NULL, buf1, PATH_MAX); -@@ -1123,7 +1123,11 @@ dll_crt0 (per_process *uptr) +@@ -1064,7 +1064,11 @@ dll_crt0 (per_process *uptr) See winsup/testsuite/cygload for an example of how to use cygwin1.dll from MSVC and non-cygwin MinGW applications. */ extern "C" void @@ -399,9 +313,9 @@ index 28b5146..ee75d3b 100644 cygwin_dll_init () +#endif { - #ifdef __i386__ - static char **envp; -@@ -1336,7 +1340,7 @@ multiple_cygwin_problem (const char *what, uintptr_t magic_version, uintptr_t ve + static int _fmode; + +@@ -1267,7 +1271,7 @@ multiple_cygwin_problem (const char *what, uintptr_t magic_version, uintptr_t ve return; } @@ -410,8 +324,8 @@ index 28b5146..ee75d3b 100644 return; if (CYGWIN_VERSION_MAGIC_VERSION (magic_version) == version) -@@ -1356,7 +1360,7 @@ are unable to find another cygwin DLL.", - void __reg1 +@@ -1287,7 +1291,7 @@ are unable to find another cygwin DLL.", + void cygbench (const char *s) { - if (GetEnvironmentVariableA ("CYGWIN_BENCH", NULL, 0)) @@ -420,7 +334,7 @@ index 28b5146..ee75d3b 100644 } #endif diff --git a/winsup/cygwin/dlfcn.cc b/winsup/cygwin/dlfcn.cc -index 9a74728..b94117d 100644 +index fb70524..7367d29 100644 --- a/winsup/cygwin/dlfcn.cc +++ b/winsup/cygwin/dlfcn.cc @@ -147,8 +147,13 @@ collect_basenames (pathfinder::basenamelist & basenames, @@ -438,22 +352,11 @@ index 9a74728..b94117d 100644 /* ... using original basename with new suffix. */ basenames.appendv (basename, baselen, ext, extlen, NULL); diff --git a/winsup/cygwin/dll_init.cc b/winsup/cygwin/dll_init.cc -index 6a4ed26..6f69b60 100644 +index b486eaa..03e5191 100644 --- a/winsup/cygwin/dll_init.cc +++ b/winsup/cygwin/dll_init.cc -@@ -889,14 +889,22 @@ dll_dllcrt0_1 (VOID *x) - future. Cygwin can now handle being loaded from a noncygwin app - using the same entry point. */ - extern "C" int -+#ifdef __MSYS__ -+dll_nonmsys_dllcrt0 (HMODULE h, per_process *p) -+#else - dll_noncygwin_dllcrt0 (HMODULE h, per_process *p) -+#endif - { - return (int) dll_dllcrt0 (h, p); +@@ -874,7 +874,11 @@ dll_dllcrt0_1 (VOID *x) } - #endif /* __i386__ */ extern "C" void +#ifdef __MSYS__ @@ -465,10 +368,10 @@ index 6a4ed26..6f69b60 100644 HANDLE retaddr; if (_my_tls.isinitialized ()) diff --git a/winsup/cygwin/dtable.cc b/winsup/cygwin/dtable.cc -index ce5f641..bad7bd1 100644 +index 6b23948..d5a659c 100644 --- a/winsup/cygwin/dtable.cc +++ b/winsup/cygwin/dtable.cc -@@ -981,9 +981,15 @@ handle_to_fn (HANDLE h, char *posix_fn) +@@ -987,9 +987,15 @@ handle_to_fn (HANDLE h, char *posix_fn) if (wcsncasecmp (w32, DEV_NAMED_PIPE, DEV_NAMED_PIPE_LEN) == 0) { w32 += DEV_NAMED_PIPE_LEN; @@ -485,10 +388,10 @@ index ce5f641..bad7bd1 100644 w32len = cygheap->installation_key.Length / sizeof (WCHAR); if (w32len diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc -index f946bed..5fe6b4d 100644 +index c3433ab..b154a3b 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc -@@ -502,14 +502,14 @@ try_to_debug () +@@ -495,14 +495,14 @@ try_to_debug () PWCHAR rawenv = GetEnvironmentStringsW () ; for (PWCHAR p = rawenv; *p != L'\0'; p = wcschr (p, L'\0') + 1) { @@ -505,11 +408,11 @@ index f946bed..5fe6b4d 100644 } break; } -diff --git a/winsup/cygwin/fhandler_pipe.cc b/winsup/cygwin/fhandler_pipe.cc -index 82c1ed3..89f7729 100644 ---- a/winsup/cygwin/fhandler_pipe.cc -+++ b/winsup/cygwin/fhandler_pipe.cc -@@ -690,7 +690,11 @@ fhandler_pipe::close () +diff --git a/winsup/cygwin/fhandler/pipe.cc b/winsup/cygwin/fhandler/pipe.cc +index e231316..283319c 100644 +--- a/winsup/cygwin/fhandler/pipe.cc ++++ b/winsup/cygwin/fhandler/pipe.cc +@@ -671,7 +671,11 @@ fhandler_pipe::close () return ret; } @@ -521,10 +424,10 @@ index 82c1ed3..89f7729 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_tty.cc b/winsup/cygwin/fhandler_tty.cc -index 399b6ef..adc7dfe 100644 ---- a/winsup/cygwin/fhandler_tty.cc -+++ b/winsup/cygwin/fhandler_tty.cc +diff --git a/winsup/cygwin/fhandler/pty.cc b/winsup/cygwin/fhandler/pty.cc +index e9a379b..34b31d0 100644 +--- a/winsup/cygwin/fhandler/pty.cc ++++ b/winsup/cygwin/fhandler/pty.cc @@ -925,7 +925,11 @@ fhandler_pty_slave::open (int flags, mode_t) pipe_reply repl; DWORD len; @@ -537,7 +440,7 @@ index 399b6ef..adc7dfe 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, -@@ -1202,7 +1206,11 @@ fhandler_pty_slave::reset_switch_to_pcon (void) +@@ -1200,7 +1204,11 @@ fhandler_pty_slave::reset_switch_to_nat_pipe (void) { char pipe[MAX_PATH]; __small_sprintf (pipe, @@ -549,7 +452,7 @@ index 399b6ef..adc7dfe 100644 &cygheap->installation_key, get_minor ()); pipe_request req = { GetCurrentProcessId () }; pipe_reply repl; -@@ -2156,7 +2164,11 @@ fhandler_pty_master::close () +@@ -2089,7 +2097,11 @@ fhandler_pty_master::close () pipe_reply repl; DWORD len; @@ -561,7 +464,7 @@ index 399b6ef..adc7dfe 100644 &cygheap->installation_key, get_minor ()); acquire_output_mutex (mutex_timeout); if (master_ctl) -@@ -3063,7 +3075,11 @@ fhandler_pty_master::setup () +@@ -2999,7 +3011,11 @@ fhandler_pty_master::setup () /* Create master control pipe which allows the master to duplicate the pty pipe handles to processes which deserve it. */ @@ -573,7 +476,7 @@ index 399b6ef..adc7dfe 100644 &cygheap->installation_key, unit); master_ctl = CreateNamedPipe (buf, PIPE_ACCESS_DUPLEX | FILE_FLAG_FIRST_PIPE_INSTANCE, -@@ -3968,7 +3984,11 @@ fhandler_pty_slave::transfer_input (tty::xfer_dir dir, HANDLE from, tty *ttyp, +@@ -3905,7 +3921,11 @@ fhandler_pty_slave::transfer_input (tty::xfer_dir dir, HANDLE from, tty *ttyp, { char pipe[MAX_PATH]; __small_sprintf (pipe, @@ -586,7 +489,7 @@ index 399b6ef..adc7dfe 100644 pipe_request req = { GetCurrentProcessId () }; pipe_reply repl; diff --git a/winsup/cygwin/fork.cc b/winsup/cygwin/fork.cc -index 7192178..0fe112f 100644 +index e553c01..0dac93f 100644 --- a/winsup/cygwin/fork.cc +++ b/winsup/cygwin/fork.cc @@ -158,7 +158,7 @@ frok::child (volatile char * volatile here) @@ -599,10 +502,10 @@ index 7192178..0fe112f 100644 small_printf ("Sleeping %d after fork, pid %u\n", atoi (buf), GetCurrentProcessId ()); Sleep (atoi (buf)); diff --git a/winsup/cygwin/hookapi.cc b/winsup/cygwin/hookapi.cc -index 1eb5fde..f15e6b4 100644 +index ee2edba..9f31a71 100644 --- a/winsup/cygwin/hookapi.cc +++ b/winsup/cygwin/hookapi.cc -@@ -401,7 +401,11 @@ hook_or_detect_cygwin (const char *name, const void *fn, WORD& subsys, HANDLE h) +@@ -379,7 +379,11 @@ hook_or_detect_cygwin (const char *name, const void *fn, WORD& subsys, HANDLE h) for (PIMAGE_IMPORT_DESCRIPTOR pd = pdfirst; pd->FirstThunk; pd++) { if (!ascii_strcasematch (rva (PSTR, map ?: (char *) hm, pd->Name - delta), @@ -614,41 +517,13 @@ index 1eb5fde..f15e6b4 100644 continue; if (!fn) { -diff --git a/winsup/cygwin/i686.din b/winsup/cygwin/i686.din -index 174e73d..b514a41 100644 ---- a/winsup/cygwin/i686.din -+++ b/winsup/cygwin/i686.din -@@ -1,4 +1,4 @@ --LIBRARY "cygwin1.dll" BASE=0x61000000 -+LIBRARY "msys-2.0.dll" BASE=0x61000000 - - EXPORTS - #Exported variables -@@ -595,7 +595,7 @@ cygwin32_conv_to_full_posix_path = cygwin_conv_to_full_posix_path SIGFE - cygwin32_conv_to_full_win32_path = cygwin_conv_to_full_win32_path SIGFE - cygwin32_conv_to_posix_path = cygwin_conv_to_posix_path SIGFE - cygwin32_conv_to_win32_path = cygwin_conv_to_win32_path SIGFE --cygwin32_detach_dll = cygwin_detach_dll SIGFE_MAYBE -+cygwin32_detach_dll = msys_detach_dll SIGFE_MAYBE - cygwin32_internal = cygwin_internal SIGFE - cygwin32_posix_path_list_p = cygwin_posix_path_list_p NOSIGFE - cygwin32_posix_to_win32_path_list = cygwin_posix_to_win32_path_list SIGFE -@@ -613,7 +613,7 @@ cygwin_posix_to_win32_path_list_buf_size SIGFE - cygwin_win32_to_posix_path_list SIGFE - cygwin_win32_to_posix_path_list_buf_size SIGFE - dll_entry@12 NOSIGFE --dll_noncygwin_dllcrt0 NOSIGFE -+dll_nonmsys_dllcrt0 NOSIGFE - fcloseall_r = _fcloseall_r SIGFE - fscanf_r = _fscanf_r SIGFE - get_osfhandle = _get_osfhandle SIGFE diff --git a/winsup/cygwin/include/cygwin/cygwin_dll.h b/winsup/cygwin/include/cygwin/cygwin_dll.h -index 56b4363..6bc948a 100644 +index 1e4cf98..b77598b 100644 --- a/winsup/cygwin/include/cygwin/cygwin_dll.h +++ b/winsup/cygwin/include/cygwin/cygwin_dll.h @@ -24,8 +24,8 @@ details. */ CDECL_BEGIN \ - int WINAPI Entry (HINSTANCE h, DWORD reason, void *ptr); \ + int Entry (HINSTANCE h, DWORD reason, void *ptr); \ typedef int (*mainfunc) (int, char **, char **); \ - extern PVOID cygwin_attach_dll (HMODULE, mainfunc); \ - extern void cygwin_detach_dll (PVOID); \ @@ -661,12 +536,12 @@ index 56b4363..6bc948a 100644 \ static PVOID dll_index; \ \ --int WINAPI _cygwin_dll_entry (HINSTANCE h, DWORD reason, void *ptr) \ -+int WINAPI _msys_dll_entry (HINSTANCE h, DWORD reason, void *ptr) \ +-int _cygwin_dll_entry (HINSTANCE h, DWORD reason, void *ptr) \ ++int _msys_dll_entry (HINSTANCE h, DWORD reason, void *ptr) \ { \ int ret; \ ret = 1; \ -@@ -55,7 +55,7 @@ int WINAPI _cygwin_dll_entry (HINSTANCE h, DWORD reason, void *ptr) \ +@@ -55,7 +55,7 @@ int _cygwin_dll_entry (HINSTANCE h, DWORD reason, void *ptr) \ storedReason = reason; \ storedPtr = ptr; \ __dynamically_loaded = (ptr == NULL); \ @@ -675,7 +550,7 @@ index 56b4363..6bc948a 100644 if (dll_index == (PVOID) -1) \ ret = 0; \ } \ -@@ -66,7 +66,7 @@ int WINAPI _cygwin_dll_entry (HINSTANCE h, DWORD reason, void *ptr) \ +@@ -66,7 +66,7 @@ int _cygwin_dll_entry (HINSTANCE h, DWORD reason, void *ptr) \ ret = Entry (h, reason, ptr); \ if (ret) \ { \ @@ -684,23 +559,11 @@ index 56b4363..6bc948a 100644 dll_index = (PVOID) -1; \ } \ } \ -@@ -88,9 +88,9 @@ int WINAPI _cygwin_dll_entry (HINSTANCE h, DWORD reason, void *ptr) \ - } \ - \ - /* OBSOLETE: This is only provided for source level compatibility. */ \ --int WINAPI _cygwin_noncygwin_dll_entry (HINSTANCE h, DWORD reason, void *ptr) \ -+int WINAPI _msys_nonmsys_dll_entry (HINSTANCE h, DWORD reason, void *ptr) \ - { \ -- return _cygwin_dll_entry (h, reason, ptr); \ -+ return _msys_dll_entry (h, reason, ptr); \ - } \ - - #endif /* __CYGWIN_CYGWIN_DLL_H__ */ diff --git a/winsup/cygwin/include/cygwin/version.h b/winsup/cygwin/include/cygwin/version.h -index f901816..e6ae517 100644 +index c3c5d1e..60bfc15 100644 --- a/winsup/cygwin/include/cygwin/version.h +++ b/winsup/cygwin/include/cygwin/version.h -@@ -533,7 +533,11 @@ details. */ +@@ -496,7 +496,11 @@ details. */ names include the CYGWIN_VERSION_SHARED_DATA version as well as this identifier. */ @@ -712,7 +575,7 @@ index f901816..e6ae517 100644 /* The Cygwin mount table interface in the Win32 registry also has a version number associated with it in case that is changed in a non-backwards -@@ -549,7 +553,11 @@ details. */ +@@ -512,7 +516,11 @@ details. */ /* Identifiers used in the Win32 registry. */ @@ -725,13 +588,13 @@ index f901816..e6ae517 100644 /* The default cygdrive prefix. */ diff --git a/winsup/cygwin/lib/_cygwin_crt0_common.cc b/winsup/cygwin/lib/_cygwin_crt0_common.cc -index 025e2f2..aa5a85d 100644 +index d356a50..801b6f9 100644 --- a/winsup/cygwin/lib/_cygwin_crt0_common.cc +++ b/winsup/cygwin/lib/_cygwin_crt0_common.cc -@@ -87,7 +87,11 @@ struct per_process_cxx_malloc __cygwin_cxx_malloc = +@@ -73,7 +73,11 @@ struct per_process_cxx_malloc __cygwin_cxx_malloc = and then jump to the dll. */ - int __stdcall + int +#ifdef __MSYS__ +_msys_crt0_common (MainFunc f, per_process *u) +#else @@ -741,7 +604,7 @@ index 025e2f2..aa5a85d 100644 per_process *newu = (per_process *) cygwin_internal (CW_USER_DATA); bool uwasnull; diff --git a/winsup/cygwin/lib/crt0.h b/winsup/cygwin/lib/crt0.h -index c551de7..e901d91 100644 +index e599b44..e817500 100644 --- a/winsup/cygwin/lib/crt0.h +++ b/winsup/cygwin/lib/crt0.h @@ -13,7 +13,11 @@ extern "C" { @@ -749,9 +612,9 @@ index c551de7..e901d91 100644 struct per_process; typedef int (*MainFunc) (int argc, char *argv[], char **env); +#ifdef __MSYS__ -+int __stdcall _msys_crt0_common (MainFunc, struct per_process *); ++int _msys_crt0_common (MainFunc, struct per_process *); +#else - int __stdcall _cygwin_crt0_common (MainFunc, struct per_process *); + int _cygwin_crt0_common (MainFunc, struct per_process *); +#endif PVOID dll_dllcrt0 (HMODULE, struct per_process *); @@ -780,10 +643,10 @@ index 866bfd8..82679c4 100644 /* jump into the dll. */ return dll_dllcrt0 (h, &u); diff --git a/winsup/cygwin/lib/cygwin_crt0.c b/winsup/cygwin/lib/cygwin_crt0.c -index 776e7e8..3e1eda1 100644 +index 7020a63..396447e 100644 --- a/winsup/cygwin/lib/cygwin_crt0.c +++ b/winsup/cygwin/lib/cygwin_crt0.c -@@ -14,8 +14,16 @@ extern void __stdcall _dll_crt0 () +@@ -14,8 +14,16 @@ extern void _dll_crt0 () /* for main module */ void @@ -800,33 +663,24 @@ index 776e7e8..3e1eda1 100644 +#endif _dll_crt0 (); /* Jump into the dll, never to return */ } -diff --git a/winsup/cygwin/mkvers.sh b/winsup/cygwin/mkvers.sh -index b2db73c..ee99dd0 100755 ---- a/winsup/cygwin/mkvers.sh -+++ b/winsup/cygwin/mkvers.sh -@@ -133,7 +133,7 @@ fi - ) | while read var; do - read val - cat <&9 +diff --git a/winsup/cygwin/local_includes/cygserver_setpwd.h b/winsup/cygwin/local_includes/cygserver_setpwd.h +index fc1576b..b297511 100644 +--- a/winsup/cygwin/local_includes/cygserver_setpwd.h ++++ b/winsup/cygwin/local_includes/cygserver_setpwd.h +@@ -12,7 +12,11 @@ details. */ + #include + #include "cygserver.h" -@@ -152,9 +152,9 @@ fi - # - cat <&9 - #ifdef DEBUGGING -- "%%% Cygwin shared id: " CYGWIN_VERSION_DLL_IDENTIFIER "S" shared_data_version "-$builddate\n" -+ "%%% MSYS shared id: " CYGWIN_VERSION_DLL_IDENTIFIER "S" shared_data_version "-$builddate\n" - #else -- "%%% Cygwin shared id: " CYGWIN_VERSION_DLL_IDENTIFIER "S" shared_data_version "\n" -+ "%%% MSYS shared id: " CYGWIN_VERSION_DLL_IDENTIFIER "S" shared_data_version "\n" - #endif - "END_CYGWIN_VERSION_INFO\n\0"; - cygwin_version_info cygwin_version = ++#ifdef __MSYS__ ++#define CYGWIN_LSA_KEY_PREFIX L"L$MSYS_" ++#else + #define CYGWIN_LSA_KEY_PREFIX L"L$CYGWIN_" ++#endif + + #ifndef __INSIDE_CYGWIN__ + class transport_layer_base; diff --git a/winsup/cygwin/pinfo.cc b/winsup/cygwin/pinfo.cc -index a16e219..dcd0285 100644 +index 8dc46ee..753d415 100644 --- a/winsup/cygwin/pinfo.cc +++ b/winsup/cygwin/pinfo.cc @@ -194,7 +194,7 @@ pinfo::maybe_set_exit_code_from_windows () @@ -839,7 +693,7 @@ index a16e219..dcd0285 100644 } diff --git a/winsup/cygwin/pseudo-reloc.cc b/winsup/cygwin/pseudo-reloc.cc -index d015cc5..cd4dff8 100644 +index 5a0eab9..895cacd 100644 --- a/winsup/cygwin/pseudo-reloc.cc +++ b/winsup/cygwin/pseudo-reloc.cc @@ -85,7 +85,7 @@ __report_error (const char *msg, ...) @@ -851,11 +705,36 @@ index d015cc5..cd4dff8 100644 HANDLE errh = GetStdHandle (STD_ERROR_HANDLE); va_list args; -diff --git a/winsup/cygwin/sec_auth.cc b/winsup/cygwin/sec_auth.cc -index e44b70b..2b94d03 100644 ---- a/winsup/cygwin/sec_auth.cc -+++ b/winsup/cygwin/sec_auth.cc -@@ -848,7 +848,7 @@ verify_token (HANDLE token, cygsid &usersid, user_groups &groups, bool *pintern) +diff --git a/winsup/cygwin/scripts/mkvers.sh b/winsup/cygwin/scripts/mkvers.sh +index 96af936..98826f8 100755 +--- a/winsup/cygwin/scripts/mkvers.sh ++++ b/winsup/cygwin/scripts/mkvers.sh +@@ -123,7 +123,7 @@ dir=$(echo $dir | sed -e 's%/include/cygwin.*$%%' -e 's%include/cygwin.*$%.%') + ) | while read var; do + read val + cat <&9 + +@@ -135,9 +135,9 @@ trap "rm -f /tmp/mkvers.$$" 0 1 2 15 + # + cat <&9 + #ifdef DEBUGGING +- "%%% Cygwin shared id: " CYGWIN_VERSION_DLL_IDENTIFIER "S" shared_data_version "-$builddate\n" ++ "%%% MSYS shared id: " CYGWIN_VERSION_DLL_IDENTIFIER "S" shared_data_version "-$builddate\n" + #else +- "%%% Cygwin shared id: " CYGWIN_VERSION_DLL_IDENTIFIER "S" shared_data_version "\n" ++ "%%% MSYS shared id: " CYGWIN_VERSION_DLL_IDENTIFIER "S" shared_data_version "\n" + #endif + "END_CYGWIN_VERSION_INFO\n\0"; + cygwin_version_info cygwin_version = +diff --git a/winsup/cygwin/sec/auth.cc b/winsup/cygwin/sec/auth.cc +index 43b5803..db1d5c8 100644 +--- a/winsup/cygwin/sec/auth.cc ++++ b/winsup/cygwin/sec/auth.cc +@@ -462,7 +462,7 @@ verify_token (HANDLE token, cygsid &usersid, user_groups &groups, bool *pintern) if (!NT_SUCCESS (status)) debug_printf ("NtQueryInformationToken(), %y", status); else @@ -864,38 +743,7 @@ index e44b70b..2b94d03 100644 } /* Verify usersid */ cygsid tok_usersid (NO_SID); -@@ -992,7 +992,7 @@ create_token (cygsid &usersid, user_groups &new_groups) - TOKEN_DEFAULT_DACL dacl = {}; - TOKEN_SOURCE source; - TOKEN_STATISTICS stats; -- memcpy (source.SourceName, "Cygwin.1", 8); -+ memcpy (source.SourceName, "MSYS.2", 6); - source.SourceIdentifier.HighPart = 0; - source.SourceIdentifier.LowPart = 0x0101; - -@@ -1151,7 +1151,7 @@ lsaauth (cygsid &usersid, user_groups &new_groups) - push_self_privilege (SE_TCB_PRIVILEGE, true); - - /* Register as logon process. */ -- RtlInitAnsiString (&name, "Cygwin"); -+ RtlInitAnsiString (&name, "MSYS"); - status = LsaRegisterLogonProcess (&name, &lsa_hdl, &sec_mode); - if (status != STATUS_SUCCESS) - { -@@ -1174,10 +1174,10 @@ lsaauth (cygsid &usersid, user_groups &new_groups) - goto out; - - /* Create origin. */ -- stpcpy (origin.buf, "Cygwin"); -+ stpcpy (origin.buf, "MSYS"); - RtlInitAnsiString (&origin.str, origin.buf); - /* Create token source. */ -- memcpy (ts.SourceName, "Cygwin.1", 8); -+ memcpy (ts.SourceName, "MSYS.2", 6); - ts.SourceIdentifier.HighPart = 0; - ts.SourceIdentifier.LowPart = 0x0103; - -@@ -1529,7 +1529,7 @@ s4uauth (bool logon, PCWSTR domain, PCWSTR user, NTSTATUS &ret_status) +@@ -747,7 +747,7 @@ s4uauth (bool logon, PCWSTR domain, PCWSTR user, NTSTATUS &ret_status) { /* Register as logon process. */ debug_printf ("Impersonation requested"); @@ -904,7 +752,7 @@ index e44b70b..2b94d03 100644 status = LsaRegisterLogonProcess (&name, &lsa_hdl, &sec_mode); } else -@@ -1568,11 +1568,11 @@ s4uauth (bool logon, PCWSTR domain, PCWSTR user, NTSTATUS &ret_status) +@@ -786,11 +786,11 @@ s4uauth (bool logon, PCWSTR domain, PCWSTR user, NTSTATUS &ret_status) } /* Create origin. */ @@ -919,10 +767,10 @@ index e44b70b..2b94d03 100644 ts.SourceIdentifier.LowPart = kerberos_auth ? 0x0105 : 0x0106; diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc -index 03fed03..0890390 100644 +index fff8af0..d21059b 100644 --- a/winsup/cygwin/syscalls.cc +++ b/winsup/cygwin/syscalls.cc -@@ -325,7 +325,7 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access, ULONG flags) +@@ -297,7 +297,7 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access, ULONG flags) } else { @@ -931,7 +779,7 @@ index 03fed03..0890390 100644 transposed into the Unicode low surrogate area (U+dc00) on file systems supporting Unicode (except Samba), followed by the inode number in hex, followed by a path hash in hex. The combination -@@ -333,7 +333,7 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access, ULONG flags) +@@ -305,7 +305,7 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access, ULONG flags) RtlAppendUnicodeToString (&recycler, (pc.fs_flags () & FILE_UNICODE_ON_DISK && !pc.fs_is_samba ()) @@ -956,22 +804,6 @@ index 6a29550..431f9d2 100644 static struct { -diff --git a/winsup/cygwin/winsup.h b/winsup/cygwin/winsup.h -index 1f265ec..4843f8c 100644 ---- a/winsup/cygwin/winsup.h -+++ b/winsup/cygwin/winsup.h -@@ -166,7 +166,11 @@ extern "C" void _pei386_runtime_relocator (per_process *); - - #ifdef __i386__ - /* dynamically loaded dll initialization for non-cygwin apps */ -+#ifdef __MSYS__ -+extern "C" int dll_nonmsys_dllcrt0 (HMODULE, per_process *); -+#else - extern "C" int dll_noncygwin_dllcrt0 (HMODULE, per_process *); -+#endif - #endif /* __i386__ */ - - void __reg1 do_exit (int) __attribute__ ((noreturn)); diff --git a/winsup/cygwin/winver.rc b/winsup/cygwin/winver.rc index 980d512..58878d4 100644 --- a/winsup/cygwin/winver.rc @@ -985,16 +817,6 @@ index 980d512..58878d4 100644 VALUE "ProductVersion", STRINGIFY(CYGWIN_VERSION) VALUE "APIVersion", CYGWIN_API_VERSION VALUE "SharedMemoryVersion", STRINGIFY(CYGWIN_VERSION_SHARED_DATA) -diff --git a/winsup/cygwin/x86_64.din b/winsup/cygwin/x86_64.din -index e1896bf..38332c7 100644 ---- a/winsup/cygwin/x86_64.din -+++ b/winsup/cygwin/x86_64.din -@@ -1,4 +1,4 @@ --LIBRARY "cygwin1.dll" BASE=0x180040000 -+LIBRARY "msys-2.0.dll" BASE=0x180040000 - - EXPORTS - #Exported variables diff --git a/winsup/testsuite/config/default.exp b/winsup/testsuite/config/default.exp index 7ef16ee..fd592c3 100644 --- a/winsup/testsuite/config/default.exp @@ -1040,7 +862,7 @@ index 65d859d..616b043 100644 memset (&sa, 0, sizeof (sa)); diff --git a/winsup/testsuite/winsup.api/cygload.cc b/winsup/testsuite/winsup.api/cygload.cc -index ad45996..7a398dc 100644 +index f5ca8db..510a627 100644 --- a/winsup/testsuite/winsup.api/cygload.cc +++ b/winsup/testsuite/winsup.api/cygload.cc @@ -25,7 +25,7 @@ @@ -1052,7 +874,7 @@ index ad45996..7a398dc 100644 #include "cygload.h" #include -@@ -136,15 +136,15 @@ cygwin::connector::connector (const char *dll) +@@ -152,15 +152,15 @@ cygwin::connector::connector (const char *dll) if ((_library = LoadLibrary (dll)) == NULL) throw windows_error ("LoadLibrary", dll); @@ -1071,7 +893,7 @@ index ad45996..7a398dc 100644 (*cyginit) (); *out << "Loading symbols..." << endl; -@@ -210,7 +210,7 @@ cygwin::connector::~connector () +@@ -224,7 +224,7 @@ cygwin::connector::~connector () // This should call init.cc:dll_entry() with DLL_PROCESS_DETACH. if (!FreeLibrary (_library)) @@ -1080,7 +902,7 @@ index ad45996..7a398dc 100644 } catch (std::exception &x) { -@@ -476,7 +476,7 @@ main (int argc, char *argv[]) +@@ -490,7 +490,7 @@ main (int argc, char *argv[]) std::ostringstream output; bool verbose = false, testinterrupts = false; @@ -1090,10 +912,10 @@ index ad45996..7a398dc 100644 out = &output; diff --git a/winsup/testsuite/winsup.api/cygload.exp b/winsup/testsuite/winsup.api/cygload.exp -index e7b4395..c092d99 100644 +index 8ba8249..500683e 100644 --- a/winsup/testsuite/winsup.api/cygload.exp +++ b/winsup/testsuite/winsup.api/cygload.exp -@@ -26,7 +26,7 @@ if { $rv != {0 {}} } { +@@ -32,7 +32,7 @@ if { $rv != {0 {}} } { set redirect_output /dev/null } set windows_runtime_root [exec cygpath -m $runtime_root] @@ -1166,7 +988,7 @@ index c83b764..42ffbfd 100644 wcscpy (dllpath, sysdir); wcscpy (dllpath + sysdir_len, dll); diff --git a/winsup/utils/mingw/cygcheck.cc b/winsup/utils/mingw/cygcheck.cc -index 288a718..7674e8e 100644 +index 69f7592..aa87d53 100644 --- a/winsup/utils/mingw/cygcheck.cc +++ b/winsup/utils/mingw/cygcheck.cc @@ -66,8 +66,7 @@ static const char *known_env_vars[] = { @@ -1203,7 +1025,7 @@ index 288a718..7674e8e 100644 buf++; else { -@@ -748,7 +747,7 @@ dll_info (const char *path, HANDLE fh, int lvl, int recurse) +@@ -743,7 +742,7 @@ dll_info (const char *path, HANDLE fh, int lvl, int recurse) } } } @@ -1212,7 +1034,7 @@ index 288a718..7674e8e 100644 cygwin_info (fh); } -@@ -995,7 +994,7 @@ scan_registry (RegInfo * prev, HKEY hKey, char *name, int cygwin, bool wow64) +@@ -990,7 +989,7 @@ scan_registry (RegInfo * prev, HKEY hKey, char *name, int cygwin, bool wow64) char *cp; for (cp = name; *cp; cp++) @@ -1221,7 +1043,7 @@ index 288a718..7674e8e 100644 cygwin = 1; DWORD num_subkeys, max_subkey_len, num_values; -@@ -1259,7 +1258,7 @@ dump_sysinfo_services () +@@ -1254,7 +1253,7 @@ dump_sysinfo_services () /* inform the user if nothing found */ if (no_services) @@ -1230,7 +1052,7 @@ index 288a718..7674e8e 100644 } enum handle_reg_t -@@ -1274,10 +1273,10 @@ handle_reg_installation (handle_reg_t what) +@@ -1269,10 +1268,10 @@ handle_reg_installation (handle_reg_t what) HKEY key; if (what == PRINT_KEY) @@ -1243,7 +1065,7 @@ index 288a718..7674e8e 100644 what == DELETE_KEY ? KEY_READ | KEY_WRITE : KEY_READ, &key) == ERROR_SUCCESS) -@@ -1299,7 +1298,7 @@ handle_reg_installation (handle_reg_t what) +@@ -1294,7 +1293,7 @@ handle_reg_installation (handle_reg_t what) if (what == PRINT_KEY) printf (" %s Key: %s Path: %s", i ? "User: " : "System:", name, path); @@ -1252,7 +1074,7 @@ index 288a718..7674e8e 100644 if (what == PRINT_KEY) printf ("%s\n", access (path, F_OK) ? " (ORPHANED)" : ""); else if (access (path, F_OK)) -@@ -1373,7 +1372,7 @@ dump_sysinfo () +@@ -1368,7 +1367,7 @@ dump_sysinfo () _wputenv (comspec); } @@ -1261,7 +1083,7 @@ index 288a718..7674e8e 100644 time (&now); printf ("Current System Time: %s\n", ctime (&now)); -@@ -1663,7 +1662,7 @@ dump_sysinfo () +@@ -1638,7 +1637,7 @@ dump_sysinfo () if (givehelp) @@ -1270,7 +1092,7 @@ index 288a718..7674e8e 100644 for (i = 0; environ[i]; i++) { char *eq = strchr (environ[i], '='); -@@ -1713,7 +1712,7 @@ dump_sysinfo () +@@ -1688,7 +1687,7 @@ dump_sysinfo () if (registry) { if (givehelp) @@ -1279,7 +1101,7 @@ index 288a718..7674e8e 100644 scan_registry (0, HKEY_CURRENT_USER, (char *) "HKEY_CURRENT_USER", 0, false); scan_registry (0, HKEY_LOCAL_MACHINE, -@@ -1891,7 +1890,7 @@ dump_sysinfo () +@@ -1866,7 +1865,7 @@ dump_sysinfo () printf ("\n"); if (givehelp) @@ -1288,7 +1110,7 @@ index 288a718..7674e8e 100644 int cygwin_dll_count = 0; char cygdll_path[32768]; for (pathlike *pth = paths; pth->dir; pth++) -@@ -1908,10 +1907,10 @@ dump_sysinfo () +@@ -1883,10 +1882,10 @@ dump_sysinfo () wcstombs (f, ffinfo.cFileName, sizeof f); if (strcasecmp (f + strlen (f) - 4, ".dll") == 0) { @@ -1301,7 +1123,7 @@ index 288a718..7674e8e 100644 { if (!cygwin_dll_count) strcpy (cygdll_path, pth->dir); -@@ -1935,9 +1934,9 @@ dump_sysinfo () +@@ -1910,9 +1909,9 @@ dump_sysinfo () FindClose (ff); } if (cygwin_dll_count > 1) @@ -1313,7 +1135,7 @@ index 288a718..7674e8e 100644 dump_dodgy_apps (verbose); -@@ -2184,8 +2183,8 @@ static char opts[] = "cdsrvkflphV"; +@@ -2159,8 +2158,8 @@ static char opts[] = "cdsrvkflphV"; static void print_version () { @@ -1324,7 +1146,7 @@ index 288a718..7674e8e 100644 "Copyright (C) 1998 - %s Cygwin Authors\n" "This is free software; see the source for copying conditions. " "There is NO\n" -@@ -2217,7 +2216,7 @@ load_cygwin (int& argc, char **&argv) +@@ -2192,7 +2191,7 @@ load_cygwin (int& argc, char **&argv) { HMODULE h; @@ -1334,7 +1156,7 @@ index 288a718..7674e8e 100644 GetModuleFileNameW (h, cygwin_dll_path, 32768); if ((cygwin_internal = (uintptr_t (*) (int, ...)) diff --git a/winsup/utils/mingw/strace.cc b/winsup/utils/mingw/strace.cc -index d8a095f..de4abc4 100644 +index c220643..a875bf2 100644 --- a/winsup/utils/mingw/strace.cc +++ b/winsup/utils/mingw/strace.cc @@ -284,7 +284,7 @@ load_cygwin () @@ -1367,7 +1189,7 @@ index d8a095f..de4abc4 100644 _putenv (newenv); ret = CreateProcess (0, one_line.buf, /* command line */ NULL, /* Security */ -@@ -825,7 +824,7 @@ dotoggle (pid_t pid) +@@ -815,7 +814,7 @@ dotoggle (pid_t pid) child_pid = (DWORD) cygwin_internal (CW_CYGWIN_PID_TO_WINPID, pid); if (!child_pid) { @@ -1377,10 +1199,10 @@ index d8a095f..de4abc4 100644 } if (cygwin_internal (CW_STRACE_TOGGLE, child_pid)) diff --git a/winsup/utils/path.cc b/winsup/utils/path.cc -index df0037c..2445655 100644 +index fe55a64..323e4c7 100644 --- a/winsup/utils/path.cc +++ b/winsup/utils/path.cc -@@ -586,14 +586,14 @@ read_mounts () +@@ -585,14 +585,14 @@ read_mounts () } max_mount_entry = 0; @@ -1400,7 +1222,7 @@ index df0037c..2445655 100644 has been made non-executable for the current user accidentally. */ else if (!GetModuleFileNameW (NULL, path, 32768)) return; -@@ -602,7 +602,7 @@ read_mounts () +@@ -601,7 +601,7 @@ read_mounts () { if (!cygwin_dll_path[0]) { @@ -1410,10 +1232,10 @@ index df0037c..2445655 100644 if (attr == (DWORD) -1 || (attr & (FILE_ATTRIBUTE_DIRECTORY diff --git a/winsup/utils/ssp.c b/winsup/utils/ssp.c -index 4c98eef..ad35d23 100644 +index 96a90a1..95045e1 100644 --- a/winsup/utils/ssp.c +++ b/winsup/utils/ssp.c -@@ -718,15 +718,15 @@ usage (FILE * stream) +@@ -710,15 +710,15 @@ usage (FILE * stream) "You must specify the range of memory addresses to keep track of\n" "manually, but it's not hard to figure out what to specify. Use the\n" "\"objdump\" program to determine the bounds of the target's \".text\"\n" @@ -1432,7 +1254,7 @@ index 4c98eef..ad35d23 100644 "\n" "Sections:\n" "Idx Name Size VMA LMA File off Algn\n" -@@ -757,7 +757,7 @@ usage (FILE * stream) +@@ -749,7 +749,7 @@ usage (FILE * stream) "\"gmon.out\". You can turn this data file into a readable report with\n" "gprof:\n" "\n" diff --git a/msys2-runtime/0004-Add-functionality-for-converting-UNIX-paths-in-argum.patch b/msys2-runtime/0004-Add-functionality-for-converting-UNIX-paths-in-argum.patch index aaecc3ff9c0..5c70247c889 100644 --- a/msys2-runtime/0004-Add-functionality-for-converting-UNIX-paths-in-argum.patch +++ b/msys2-runtime/0004-Add-functionality-for-converting-UNIX-paths-in-argum.patch @@ -1,4 +1,4 @@ -From eec753278b54a8ad5e5371dfe1b4c3023408fed4 Mon Sep 17 00:00:00 2001 +From cfa228d08b043391c8006f82cff6f3f548466800 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 @@ -7,46 +7,46 @@ Subject: [PATCH 04/N] Add functionality for converting UNIX paths in applications. --- - winsup/cygwin/Makefile.am | 1 + - winsup/cygwin/environ.cc | 24 +- - winsup/cygwin/environ.h | 2 +- - winsup/cygwin/external.cc | 2 +- - winsup/cygwin/include/sys/cygwin.h | 6 + - winsup/cygwin/msys2_path_conv.cc | 639 +++++++++++++++++++++++++++++ - winsup/cygwin/msys2_path_conv.h | 147 +++++++ - winsup/cygwin/path.cc | 69 ++++ - winsup/cygwin/spawn.cc | 42 +- - winsup/cygwin/winf.h | 4 + - 10 files changed, 930 insertions(+), 6 deletions(-) + winsup/cygwin/Makefile.am | 1 + + winsup/cygwin/environ.cc | 24 +- + winsup/cygwin/external.cc | 2 +- + winsup/cygwin/include/sys/cygwin.h | 6 + + winsup/cygwin/local_includes/environ.h | 2 +- + winsup/cygwin/local_includes/winf.h | 4 + + winsup/cygwin/msys2_path_conv.cc | 642 +++++++++++++++++++++++++ + winsup/cygwin/msys2_path_conv.h | 147 ++++++ + winsup/cygwin/path.cc | 69 +++ + winsup/cygwin/spawn.cc | 38 +- + 10 files changed, 931 insertions(+), 4 deletions(-) create mode 100644 winsup/cygwin/msys2_path_conv.cc create mode 100644 winsup/cygwin/msys2_path_conv.h diff --git a/winsup/cygwin/Makefile.am b/winsup/cygwin/Makefile.am -index 72471ea..23a3c23 100644 +index a57d228..70e3363 100644 --- a/winsup/cygwin/Makefile.am +++ b/winsup/cygwin/Makefile.am -@@ -283,6 +283,7 @@ DLL_FILES= \ - mmap.cc \ - mmap_alloc.cc \ +@@ -303,6 +303,7 @@ DLL_FILES= \ + miscfuncs.cc \ + mktemp.cc \ msg.cc \ + msys2_path_conv.cc \ mount.cc \ net.cc \ netdb.cc \ diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc -index 03f8277..8ad1026 100644 +index 008854a..25be7a7 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc -@@ -1058,7 +1058,7 @@ env_compare (const void *key, const void *memb) +@@ -1044,7 +1044,7 @@ env_compare (const void *key, const void *memb) to the child. */ - char ** __reg3 + char ** build_env (const char * const *envp, PWCHAR &envblock, int &envc, - bool no_envblock, HANDLE new_token) + bool no_envblock, HANDLE new_token, bool keep_posix) { PWCHAR cwinenv = NULL; size_t winnum = 0; -@@ -1151,6 +1151,19 @@ build_env (const char * const *envp, PWCHAR &envblock, int &envc, +@@ -1137,6 +1137,19 @@ build_env (const char * const *envp, PWCHAR &envblock, int &envc, for (srcp = envp, dstp = newenv, pass_dstp = pass_env; *srcp; srcp++) { bool calc_tl = !no_envblock; @@ -66,7 +66,7 @@ index 03f8277..8ad1026 100644 /* Look for entries that require special attention */ for (unsigned i = 0; i < SPENVS_SIZE; i++) if (!saw_spenv[i] && (*dstp = spenvs[i].retrieve (no_envblock, *srcp))) -@@ -1271,6 +1284,15 @@ build_env (const char * const *envp, PWCHAR &envblock, int &envc, +@@ -1257,6 +1270,15 @@ build_env (const char * const *envp, PWCHAR &envblock, int &envc, saw_PATH = true; } } @@ -82,37 +82,24 @@ index 03f8277..8ad1026 100644 else p = *srcp; /* Don't worry about it */ -diff --git a/winsup/cygwin/environ.h b/winsup/cygwin/environ.h -index 269591a..71c3f22 100644 ---- a/winsup/cygwin/environ.h -+++ b/winsup/cygwin/environ.h -@@ -43,7 +43,7 @@ extern "C" char **__cygwin_environ, ***main_environ; - extern "C" char __stdcall **cur_environ (); - #endif - char ** __reg3 build_env (const char * const *envp, PWCHAR &envblock, -- int &envc, bool need_envblock, HANDLE new_token); -+ int &envc, bool need_envblock, HANDLE new_token, bool keep_posix); - - char ** __reg2 win32env_to_cygenv (PWCHAR rawenv, bool posify); - diff --git a/winsup/cygwin/external.cc b/winsup/cygwin/external.cc -index 74413a8..6adf620 100644 +index 582bab8..bb1c8a1 100644 --- a/winsup/cygwin/external.cc +++ b/winsup/cygwin/external.cc @@ -141,7 +141,7 @@ create_winenv (const char * const *env) int unused_envc; PWCHAR envblock = NULL; - char **envp = build_env (env ?: cur_environ (), envblock, unused_envc, false, + char **envp = build_env (env ?: environ, envblock, unused_envc, false, - NULL); + NULL, true); PWCHAR p = envblock; if (envp) diff --git a/winsup/cygwin/include/sys/cygwin.h b/winsup/cygwin/include/sys/cygwin.h -index c9d4599..70fd3e7 100644 +index 2c5997b..6383646 100644 --- a/winsup/cygwin/include/sys/cygwin.h +++ b/winsup/cygwin/include/sys/cygwin.h -@@ -83,6 +83,12 @@ extern ssize_t cygwin_conv_path_list (cygwin_conv_path_t what, const void *from, +@@ -60,6 +60,12 @@ extern ssize_t cygwin_conv_path_list (cygwin_conv_path_t what, const void *from, to one of the above values, or to ENOMEM if malloc fails. */ extern void *cygwin_create_path (cygwin_conv_path_t what, const void *from); @@ -125,12 +112,40 @@ index c9d4599..70fd3e7 100644 extern pid_t cygwin_winpid_to_pid (int); extern int cygwin_posix_path_list_p (const char *); extern void cygwin_split_path (const char *, char *, char *); +diff --git a/winsup/cygwin/local_includes/environ.h b/winsup/cygwin/local_includes/environ.h +index 86e64a7..0dd4535 100644 +--- a/winsup/cygwin/local_includes/environ.h ++++ b/winsup/cygwin/local_includes/environ.h +@@ -34,7 +34,7 @@ win_env *getwinenv (const char *name, const char *posix = NULL, win_env * = NULL + char *getwinenveq (const char *name, size_t len, int); + + char **build_env (const char * const *envp, PWCHAR &envblock, +- int &envc, bool need_envblock, HANDLE new_token); ++ int &envc, bool need_envblock, HANDLE new_token, bool keep_posix); + + char **win32env_to_cygenv (PWCHAR rawenv, bool posify); + +diff --git a/winsup/cygwin/local_includes/winf.h b/winsup/cygwin/local_includes/winf.h +index 651f78b..38719f3 100644 +--- a/winsup/cygwin/local_includes/winf.h ++++ b/winsup/cygwin/local_includes/winf.h +@@ -51,6 +51,10 @@ class av + calloced = 1; + } + } ++ void replace (int i, const char *arg) ++ { ++ argv[i] = cstrdup1 (arg); ++ } + void dup_all () + { + for (int i = calloced; i < argc; i++) diff --git a/winsup/cygwin/msys2_path_conv.cc b/winsup/cygwin/msys2_path_conv.cc new file mode 100644 -index 0000000..2d401ca +index 0000000..367692b --- /dev/null +++ b/winsup/cygwin/msys2_path_conv.cc -@@ -0,0 +1,639 @@ +@@ -0,0 +1,642 @@ +/* + The MSYS2 Path conversion source code is licensed under: + @@ -371,6 +386,7 @@ index 0000000..2d401ca +void sub_convert(const char** from, const char** to, char** dst, const char* dstend, int* in_string) { + const char* copy_from = *from; + path_type type = find_path_start_and_type(from, false, *to); ++ debug_printf("found type %d for path %s", type, copy_from); + + if (type == POSIX_PATH_LIST) { + find_end_of_posix_list(to, in_string); @@ -479,8 +495,10 @@ index 0000000..2d401ca + + if (*it == '\0' || it == end) return NONE; + -+ if (!isalnum(*it) && *it != '/' && *it != '\\' && *it != ':' && *it != '-' && *it != '.') { -+ return find_path_start_and_type(move(src, 1), true, end); ++ while (!isalnum(*it) && *it != '/' && *it != '\\' && *it != ':' && *it != '-' && *it != '.') { ++ recurse = true; ++ it = ++*src; ++ if (it == end || *it == '\0') return NONE; + } + + path_type result = NONE; @@ -924,7 +942,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 8caa019..a430d98 100644 +index 97099af..2ca749c 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -66,6 +66,7 @@ @@ -935,7 +953,7 @@ index 8caa019..a430d98 100644 #undef basename suffix_info stat_suffixes[] = -@@ -3834,6 +3835,74 @@ fchdir (int fd) +@@ -3838,6 +3839,74 @@ fchdir (int fd) return res; } @@ -1011,10 +1029,10 @@ index 8caa019..a430d98 100644 /* Cover functions to the path conversion routines. diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc -index d9d7716..283041a 100644 +index 32ba5b3..614b8cd 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc -@@ -288,6 +288,27 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, +@@ -281,6 +281,27 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, bool rc; int res = -1; @@ -1042,33 +1060,28 @@ index d9d7716..283041a 100644 /* Check if we have been called from exec{lv}p or spawn{lv}p and mask mode to keep only the spawn mode. */ bool p_type_exec = !!(mode & _P_PATH_TYPE_EXEC); -@@ -402,9 +423,23 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, - moreinfo->argc = newargv.argc; - moreinfo->argv = newargv; - } -+ else +@@ -372,6 +393,20 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, + moreinfo->argc = newargv.argc; + moreinfo->argv = newargv; + } ++ else ++ { ++ for (int i = 0; i < newargv.argc; i++) + { -+ for (int i = 0; i < newargv.argc; i++) -+ { -+ //convert argv to win32 -+ int newargvlen = strlen (newargv[i]); -+ char *tmpbuf = (char *)malloc (newargvlen + 1); -+ memcpy (tmpbuf, newargv[i], newargvlen + 1); -+ tmpbuf = arg_heuristic_with_exclusions(tmpbuf, msys2_arg_conv_excl, msys2_arg_conv_excl_count); -+ debug_printf("newargv[%d] = %s", i, newargv[i]); -+ newargv.replace (i, tmpbuf); -+ free (tmpbuf); -+ } ++ //convert argv to win32 ++ int newargvlen = strlen (newargv[i]); ++ char *tmpbuf = (char *)malloc (newargvlen + 1); ++ memcpy (tmpbuf, newargv[i], newargvlen + 1); ++ tmpbuf = arg_heuristic_with_exclusions(tmpbuf, msys2_arg_conv_excl, msys2_arg_conv_excl_count); ++ debug_printf("newargv[%d] = %s", i, newargv[i]); ++ newargv.replace (i, tmpbuf); ++ free (tmpbuf); + } - if ((wincmdln || !real_path.iscygexec ()) -- && !cmd.fromargv (newargv, real_path.get_win32 (), -- real_path.iscygexec ())) -+ && !cmd.fromargv (newargv, real_path.get_win32 (), -+ real_path.iscygexec ())) - { - res = -1; - __leave; -@@ -538,7 +573,8 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, ++ } + if ((wincmdln || !real_path.iscygexec ()) + && !cmd.fromargv (newargv, real_path.get_win32 (), + real_path.iscygexec ())) +@@ -502,7 +537,8 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, moreinfo->envp = build_env (envp, envblock, moreinfo->envc, real_path.iscygexec (), switch_user ? ::cygheap->user.primary_token () @@ -1078,18 +1091,3 @@ index d9d7716..283041a 100644 if (!moreinfo->envp || !envblock) { set_errno (E2BIG); -diff --git a/winsup/cygwin/winf.h b/winsup/cygwin/winf.h -index e3a65f8..1aeec8d 100644 ---- a/winsup/cygwin/winf.h -+++ b/winsup/cygwin/winf.h -@@ -51,6 +51,10 @@ class av - calloced = 1; - } - } -+ void replace (int i, const char *arg) -+ { -+ argv[i] = cstrdup1 (arg); -+ } - void dup_all () - { - for (int i = calloced; i < argc; i++) diff --git a/msys2-runtime/0005-Add-functionality-for-changing-OS-name-via-MSYSTEM-e.patch b/msys2-runtime/0005-Add-functionality-for-changing-OS-name-via-MSYSTEM-e.patch index 2be230e7cbf..d84c5e5e78d 100644 --- a/msys2-runtime/0005-Add-functionality-for-changing-OS-name-via-MSYSTEM-e.patch +++ b/msys2-runtime/0005-Add-functionality-for-changing-OS-name-via-MSYSTEM-e.patch @@ -1,4 +1,4 @@ -From 4282d492159c1a52fbc161ff48ef906d154b23b5 Mon Sep 17 00:00:00 2001 +From ad65a40ea8951860acc44bb00841e48d71bcb648 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 @@ -35,7 +35,7 @@ index 373bfd2..c902857 100755 echo echo "Installation of cygserver as service failed. Please check the" diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc -index 8ad1026..f746841 100644 +index 25be7a7..568bb34 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc @@ -191,7 +191,11 @@ parse_options (const char *inbuf) @@ -50,7 +50,7 @@ index 8ad1026..f746841 100644 } return; } -@@ -655,7 +659,7 @@ _addenv (const char *name, const char *value, int overwrite) +@@ -650,7 +654,7 @@ _addenv (const char *name, const char *value, int overwrite) win_env *spenv; if ((spenv = getwinenv (envhere))) spenv->add_cache (value); @@ -59,7 +59,7 @@ index 8ad1026..f746841 100644 parse_options (value); return 0; -@@ -759,6 +763,9 @@ static struct renv { +@@ -753,6 +757,9 @@ static struct renv { } renv_arr[] = { { NL("COMMONPROGRAMFILES=") }, // 0 { NL("COMSPEC=") }, @@ -69,7 +69,7 @@ index 8ad1026..f746841 100644 { NL("PATH=") }, // 2 { NL("PROGRAMFILES=") }, { NL("SYSTEMDRIVE=") }, // 4 -@@ -770,10 +777,21 @@ static struct renv { +@@ -764,10 +771,21 @@ static struct renv { #define RENV_SIZE (sizeof (renv_arr) / sizeof (renv_arr[0])) /* Set of first characters of the above list of variables. */ @@ -93,8 +93,8 @@ index 8ad1026..f746841 100644 /* Turn environment variable part of a=b string into uppercase - for some environment variables only. */ -@@ -848,7 +866,11 @@ environ_init (char **envp, int envc) - update_envptrs (); +@@ -834,7 +852,11 @@ environ_init (char **envp, int envc) + environ = envp; if (envp_passed_in) { +#ifdef __MSYS__ @@ -105,7 +105,7 @@ index 8ad1026..f746841 100644 if (p) parse_options (p); } -@@ -895,8 +917,13 @@ win32env_to_cygenv (PWCHAR rawenv, bool posify) +@@ -881,8 +903,13 @@ win32env_to_cygenv (PWCHAR rawenv, bool posify) ucenv (newp, eq); /* uppercase env vars which need it */ if (*newp == 'T' && strncmp (newp, "TERM=", 5) == 0) sawTERM = 1; @@ -119,7 +119,7 @@ index 8ad1026..f746841 100644 if (*eq && posify) posify_maybe (envp + i, *++eq ? eq : --eq, tmpbuf); debug_printf ("%p: %s", envp[i], envp[i]); -@@ -965,12 +992,13 @@ struct spenv +@@ -951,12 +978,13 @@ struct spenv static NO_COPY spenv spenvs[] = { #ifdef DEBUGGING @@ -148,24 +148,24 @@ index d6b3be9..730cb73 100644 char release[_UTSNAME_LENGTH]; char version[_UTSNAME_LENGTH]; diff --git a/winsup/cygwin/uname.cc b/winsup/cygwin/uname.cc -index 3502166..daed73f 100644 +index dd41601..0d0c5aa 100644 --- a/winsup/cygwin/uname.cc +++ b/winsup/cygwin/uname.cc @@ -36,7 +36,12 @@ uname_x (struct utsname *name) memset (name, 0, sizeof (*name)); /* sysname */ -- __small_sprintf (name->sysname, "CYGWIN_%s-%u%s", +- __small_sprintf (name->sysname, "CYGWIN_%s-%u", + char* msystem = getenv("MSYSTEM"); + const char* msystem_sysname = "MSYS"; + if (msystem != NULL && *msystem && strcmp(msystem, "MSYS") != 0) + msystem_sysname = (strstr(msystem, "32") != NULL) ? "MINGW32" : "MINGW64";; -+ __small_sprintf (name->sysname, "%s_%s-%u%s", ++ __small_sprintf (name->sysname, "%s_%s-%u", + msystem_sysname, - wincap.osname (), wincap.build_number (), - wincap.is_wow64 () ? "-WOW64" : ""); + wincap.osname (), wincap.build_number ()); /* nodename */ -@@ -82,7 +87,7 @@ uname_x (struct utsname *name) + memset (buf, 0, sizeof buf); +@@ -88,7 +93,7 @@ uname_x (struct utsname *name) /* Old entrypoint for applications up to API 334 */ struct old_utsname { @@ -174,9 +174,9 @@ index 3502166..daed73f 100644 char nodename[20]; char release[20]; char version[20]; -@@ -98,7 +103,15 @@ uname (struct utsname *in_name) - char *snp = strstr (cygwin_version.dll_build_date, "SNP"); - +@@ -102,7 +107,15 @@ uname (struct utsname *in_name) + __try + { memset (name, 0, sizeof (*name)); +#ifdef __MSYS__ + char* msystem = getenv("MSYSTEM"); @@ -188,5 +188,5 @@ index 3502166..daed73f 100644 __small_sprintf (name->sysname, "CYGWIN_%s", wincap.osname ()); +#endif - /* Add a hint to the sysname, that we're running under WOW64. This might - give an early clue if somebody encounters problems. */ + /* Computer name */ + cygwin_gethostname (name->nodename, sizeof (name->nodename) - 1); diff --git a/msys2-runtime/0006-Move-root-to-usr.-Change-sorting-mount-points.-By-de.patch b/msys2-runtime/0006-Move-root-to-usr.-Change-sorting-mount-points.-By-de.patch index 9130646be95..f3164534433 100644 --- a/msys2-runtime/0006-Move-root-to-usr.-Change-sorting-mount-points.-By-de.patch +++ b/msys2-runtime/0006-Move-root-to-usr.-Change-sorting-mount-points.-By-de.patch @@ -1,4 +1,4 @@ -From 7794a2ab74e5e7474356c6a356bdccd0482d4dee Mon Sep 17 00:00:00 2001 +From 0b6d934fa35b975e2dce9a80a3024e8e641374ae 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 @@ -7,17 +7,38 @@ Subject: [PATCH 06/N] - Move root to /usr. - Change sorting mount points. - format. --- - winsup/cygwin/cygheap.cc | 12 ++- - winsup/cygwin/mount.cc | 185 +++++++++++++++++++++++++++++++++------ - winsup/cygwin/mount.h | 3 +- - winsup/cygwin/uinfo.cc | 2 +- + winsup/cygwin/local_includes/mount.h | 3 +- + winsup/cygwin/mm/cygheap.cc | 12 +- + winsup/cygwin/mount.cc | 185 +++++++++++++++++++++++---- + winsup/cygwin/uinfo.cc | 2 +- 4 files changed, 174 insertions(+), 28 deletions(-) -diff --git a/winsup/cygwin/cygheap.cc b/winsup/cygwin/cygheap.cc -index 79300a3..4ccd1a8 100644 ---- a/winsup/cygwin/cygheap.cc -+++ b/winsup/cygwin/cygheap.cc -@@ -197,14 +197,22 @@ init_cygheap::init_installation_root () +diff --git a/winsup/cygwin/local_includes/mount.h b/winsup/cygwin/local_includes/mount.h +index 5bb84b9..cb48a68 100644 +--- a/winsup/cygwin/local_includes/mount.h ++++ b/winsup/cygwin/local_includes/mount.h +@@ -170,7 +170,6 @@ class mount_info + mount_item mount[MAX_MOUNTS]; + + static bool got_usr_bin; +- static bool got_usr_lib; + static int root_idx; + + /* cygdrive_prefix is used as the root of the path automatically +@@ -182,6 +181,8 @@ class mount_info + private: + int posix_sorted[MAX_MOUNTS]; + int native_sorted[MAX_MOUNTS]; ++ int longest_posix_sorted[MAX_MOUNTS]; ++ int shortest_native_sorted[MAX_MOUNTS]; + + public: + void init (bool); +diff --git a/winsup/cygwin/mm/cygheap.cc b/winsup/cygwin/mm/cygheap.cc +index 6094076..c2505a6 100644 +--- a/winsup/cygwin/mm/cygheap.cc ++++ b/winsup/cygwin/mm/cygheap.cc +@@ -217,14 +217,22 @@ init_cygheap::init_installation_root () /* Strip off last path component ("\\cygwin1.dll") */ PWCHAR w = wcsrchr (installation_root_buf, L'\\'); @@ -41,7 +62,7 @@ index 79300a3..4ccd1a8 100644 /* Copy result into installation_dir before stripping off "bin" dir and revert to Win32 path. This path is added to the Windows environment -@@ -229,6 +237,7 @@ init_cygheap::init_installation_root () +@@ -249,6 +257,7 @@ init_cygheap::init_installation_root () RtlInitUnicodeString (&installation_root, installation_root_buf); RtlInitUnicodeString (&installation_dir, installation_dir_buf); @@ -49,16 +70,16 @@ index 79300a3..4ccd1a8 100644 for (int i = 1; i >= 0; --i) { reg_key r (i, KEY_WRITE, _WIDE (CYGWIN_INFO_INSTALLATIONS_NAME), -@@ -237,6 +246,7 @@ init_cygheap::init_installation_root () +@@ -257,6 +266,7 @@ init_cygheap::init_installation_root () installation_root_buf))) break; } +#endif } - void __stdcall + /* Initialize bucket_val. The value is the max size of a block diff --git a/winsup/cygwin/mount.cc b/winsup/cygwin/mount.cc -index 5eb0289..22d7b31 100644 +index 14c1ac7..939578a 100644 --- a/winsup/cygwin/mount.cc +++ b/winsup/cygwin/mount.cc @@ -39,7 +39,6 @@ details. */ @@ -68,8 +89,8 @@ index 5eb0289..22d7b31 100644 -bool NO_COPY mount_info::got_usr_lib; int NO_COPY mount_info::root_idx = -1; - /* is_unc_share: Return non-zero if PATH begins with //server/share -@@ -332,7 +331,6 @@ fs_info::update (PUNICODE_STRING upath, HANDLE in_vol) + /* is_native_path: Return non-zero if PATH starts with \??\[a-zA-Z] or +@@ -354,7 +353,6 @@ fs_info::update (PUNICODE_STRING upath, HANDLE in_vol) #define MINIMAL_WIN_NTFS_FLAGS (FILE_CASE_SENSITIVE_SEARCH \ | FILE_CASE_PRESERVED_NAMES \ | FILE_UNICODE_ON_DISK \ @@ -77,7 +98,7 @@ index 5eb0289..22d7b31 100644 | FILE_FILE_COMPRESSION \ | FILE_VOLUME_QUOTAS \ | FILE_SUPPORTS_SPARSE_FILES \ -@@ -473,13 +471,13 @@ mount_info::create_root_entry (const PWCHAR root) +@@ -495,13 +493,13 @@ mount_info::create_root_entry (const PWCHAR root) sys_wcstombs (native_root, PATH_MAX, root); assert (*native_root != '\0'); if (add_item (native_root, "/", @@ -93,7 +114,7 @@ index 5eb0289..22d7b31 100644 strcpy (cygdrive, CYGWIN_INFO_CYGDRIVE_DEFAULT_PREFIX "/"); cygdrive_len = strlen (cygdrive); } -@@ -499,22 +497,14 @@ mount_info::init (bool user_init) +@@ -521,22 +519,14 @@ mount_info::init (bool user_init) pathend = wcpcpy (pathend, L"\\etc\\fstab"); from_fstab (user_init, path, pathend); @@ -120,7 +141,7 @@ index 5eb0289..22d7b31 100644 } } -@@ -595,6 +585,7 @@ mount_info::conv_to_win32_path (const char *src_path, char *dst, device& dev, +@@ -617,6 +607,7 @@ mount_info::conv_to_win32_path (const char *src_path, char *dst, device& dev, /* See if this is a cygwin "device" */ if (win32_device_name (src_path, dst, dev)) { @@ -128,7 +149,7 @@ index 5eb0289..22d7b31 100644 *flags = 0; rc = 0; goto out_no_chroot_check; -@@ -625,6 +616,7 @@ mount_info::conv_to_win32_path (const char *src_path, char *dst, device& dev, +@@ -647,6 +638,7 @@ mount_info::conv_to_win32_path (const char *src_path, char *dst, device& dev, } if (isproc (src_path)) { @@ -136,7 +157,7 @@ index 5eb0289..22d7b31 100644 dev = *proc_dev; dev = fhandler_proc::get_proc_fhandler (src_path); if (dev == FH_NADA) -@@ -646,6 +638,7 @@ mount_info::conv_to_win32_path (const char *src_path, char *dst, device& dev, +@@ -668,6 +660,7 @@ mount_info::conv_to_win32_path (const char *src_path, char *dst, device& dev, off the prefix and transform it into an MS-DOS path. */ else if (iscygdrive (src_path)) { @@ -144,7 +165,7 @@ index 5eb0289..22d7b31 100644 int n = mount_table->cygdrive_len - 1; int unit; -@@ -657,11 +650,15 @@ mount_info::conv_to_win32_path (const char *src_path, char *dst, device& dev, +@@ -679,11 +672,15 @@ mount_info::conv_to_win32_path (const char *src_path, char *dst, device& dev, } else if (cygdrive_win32_path (src_path, dst, unit)) { @@ -161,7 +182,7 @@ index 5eb0289..22d7b31 100644 } int chroot_pathlen; -@@ -672,7 +669,9 @@ mount_info::conv_to_win32_path (const char *src_path, char *dst, device& dev, +@@ -694,7 +691,9 @@ mount_info::conv_to_win32_path (const char *src_path, char *dst, device& dev, const char *path; int len; @@ -172,7 +193,7 @@ index 5eb0289..22d7b31 100644 if (!cygheap->root.exists () || (mi->posix_pathlen == 1 && mi->posix_path[0] == '/')) { -@@ -903,7 +902,8 @@ mount_info::conv_to_posix_path (const char *src_path, char *posix_path, +@@ -934,7 +933,8 @@ mount_info::conv_to_posix_path (const char *src_path, char *posix_path, int pathbuflen = tail - pathbuf; for (int i = 0; i < nmounts; ++i) { @@ -182,7 +203,7 @@ index 5eb0289..22d7b31 100644 if (!path_prefix_p (mi.native_path, pathbuf, mi.native_pathlen, mi.flags & MOUNT_NOPOSIX)) continue; -@@ -1116,8 +1116,17 @@ mount_info::from_fstab_line (char *line, bool user) +@@ -1147,8 +1147,17 @@ mount_info::from_fstab_line (char *line, bool user) if (!*c) return true; cend = find_ws (c); @@ -201,7 +222,7 @@ index 5eb0289..22d7b31 100644 /* Third field: FS type. */ c = skip_ws (cend + 1); if (!*c) -@@ -1346,16 +1355,145 @@ sort_by_native_name (const void *a, const void *b) +@@ -1377,16 +1386,145 @@ sort_by_native_name (const void *a, const void *b) return res; } @@ -348,7 +369,7 @@ index 5eb0289..22d7b31 100644 } /* Add an entry to the mount table. -@@ -1446,12 +1584,9 @@ mount_info::add_item (const char *native, const char *posix, +@@ -1477,12 +1615,9 @@ mount_info::add_item (const char *native, const char *posix, if (i == nmounts) nmounts++; @@ -362,32 +383,11 @@ index 5eb0289..22d7b31 100644 if (posixtmp[0] == '/' && posixtmp[1] == '\0' && !(mountflags & MOUNT_CYGDRIVE)) root_idx = i; -diff --git a/winsup/cygwin/mount.h b/winsup/cygwin/mount.h -index 122a679..c447381 100644 ---- a/winsup/cygwin/mount.h -+++ b/winsup/cygwin/mount.h -@@ -171,7 +171,6 @@ class mount_info - mount_item mount[MAX_MOUNTS]; - - static bool got_usr_bin; -- static bool got_usr_lib; - static int root_idx; - - /* cygdrive_prefix is used as the root of the path automatically -@@ -183,6 +182,8 @@ class mount_info - private: - int posix_sorted[MAX_MOUNTS]; - int native_sorted[MAX_MOUNTS]; -+ int longest_posix_sorted[MAX_MOUNTS]; -+ int shortest_native_sorted[MAX_MOUNTS]; - - public: - void init (bool); diff --git a/winsup/cygwin/uinfo.cc b/winsup/cygwin/uinfo.cc -index 6aae33c..5736ffb 100644 +index 6df8c7b..9bbcf1c 100644 --- a/winsup/cygwin/uinfo.cc +++ b/winsup/cygwin/uinfo.cc -@@ -2772,7 +2772,7 @@ pwdgrp::fetch_account_from_windows (fetch_user_arg_t &arg, cyg_ldap *pldap) +@@ -2678,7 +2678,7 @@ pwdgrp::fetch_account_from_windows (fetch_user_arg_t &arg, cyg_ldap *pldap) dom, name, sid.string ((char *) sidstr), home ?: "/home/", home ? L"" : name, diff --git a/msys2-runtime/0007-Instead-of-creating-Cygwin-symlinks-use-deep-copy-by.patch b/msys2-runtime/0007-Instead-of-creating-Cygwin-symlinks-use-deep-copy-by.patch index 9ef48e5f78d..7e6e5a75f26 100644 --- a/msys2-runtime/0007-Instead-of-creating-Cygwin-symlinks-use-deep-copy-by.patch +++ b/msys2-runtime/0007-Instead-of-creating-Cygwin-symlinks-use-deep-copy-by.patch @@ -1,4 +1,4 @@ -From bb01dd41c6717f478c94f3790b90138c2a7c2660 Mon Sep 17 00:00:00 2001 +From 11047db4cc73c0c4d0394b3267ee5f64d9464e2e 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 @@ -25,7 +25,7 @@ Co-authored-by: Johannes Schindelin 3 files changed, 160 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc -index f746841..296c890 100644 +index 568bb34..02b47ad 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc @@ -88,6 +88,10 @@ set_winsymlinks (const char *buf) @@ -40,10 +40,10 @@ index f746841..296c890 100644 /* The structure below is used to set up an array which is used to diff --git a/winsup/cygwin/globals.cc b/winsup/cygwin/globals.cc -index 5687a1e..1b8d8e2 100644 +index aef4a68..cd907b7 100644 --- a/winsup/cygwin/globals.cc +++ b/winsup/cygwin/globals.cc -@@ -59,6 +59,7 @@ enum winsym_t +@@ -57,6 +57,7 @@ enum winsym_t WSYM_nativestrict, WSYM_nfs, WSYM_sysfile, @@ -51,8 +51,8 @@ index 5687a1e..1b8d8e2 100644 }; exit_states NO_COPY exit_state; -@@ -72,7 +73,7 @@ bool ignore_case_with_glob; - bool pipe_byte; +@@ -70,7 +71,7 @@ bool ignore_case_with_glob; + bool pipe_byte = true; /* Default to byte mode so that C# programs work. */ bool reset_com; bool wincmdln; -winsym_t allow_winsymlinks = WSYM_default; @@ -61,7 +61,7 @@ index 5687a1e..1b8d8e2 100644 bool NO_COPY in_forkee; diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc -index a430d98..17646a8 100644 +index 2ca749c..3378b6d 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -1682,6 +1682,89 @@ conv_path_list (const char *src, char *dst, size_t size, diff --git a/msys2-runtime/0008-Automatically-rewrite-TERM-msys-to-TERM-cygwin-With-.patch b/msys2-runtime/0008-Automatically-rewrite-TERM-msys-to-TERM-cygwin.patch similarity index 70% rename from msys2-runtime/0008-Automatically-rewrite-TERM-msys-to-TERM-cygwin-With-.patch rename to msys2-runtime/0008-Automatically-rewrite-TERM-msys-to-TERM-cygwin.patch index 4c14eb25ad3..a7d55c5bfe7 100644 --- a/msys2-runtime/0008-Automatically-rewrite-TERM-msys-to-TERM-cygwin-With-.patch +++ b/msys2-runtime/0008-Automatically-rewrite-TERM-msys-to-TERM-cygwin.patch @@ -1,22 +1,22 @@ -From 6f8d01098eab4130afa8e9a7aa69cc6189f31da4 Mon Sep 17 00:00:00 2001 +From 1e290156f6e690c0c01c2397bbbc9772532a3e00 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 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 TERM=msys as if - the user had not specified TERM at all and wanted us to use our preferred - TERM value. +Subject: [PATCH 08/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 +TERM=msys as if the user had not specified TERM at all and wanted us to +use our preferred TERM value. --- winsup/cygwin/environ.cc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc -index 296c890..2e290a8 100644 +index 02b47ad..7a4a6ea 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc -@@ -920,7 +920,16 @@ win32env_to_cygenv (PWCHAR rawenv, bool posify) +@@ -906,7 +906,16 @@ win32env_to_cygenv (PWCHAR rawenv, bool posify) char *eq = strchrnul (newp, '='); ucenv (newp, eq); /* uppercase env vars which need it */ if (*newp == 'T' && strncmp (newp, "TERM=", 5) == 0) diff --git a/msys2-runtime/0009-Do-not-convert-environment-for-strace.patch b/msys2-runtime/0009-Do-not-convert-environment-for-strace.patch index 4780169beae..63941ccdbf9 100644 --- a/msys2-runtime/0009-Do-not-convert-environment-for-strace.patch +++ b/msys2-runtime/0009-Do-not-convert-environment-for-strace.patch @@ -1,4 +1,4 @@ -From 528620587ae370a0019218428b5af74a79186841 Mon Sep 17 00:00:00 2001 +From 57e1706aa0db4681602eebdcb52366633d68c901 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 @@ -10,10 +10,10 @@ 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 283041a..49cd941 100644 +index 614b8cd..95f64a4 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc -@@ -570,11 +570,13 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, +@@ -534,11 +534,13 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, bool switch_user = ::cygheap->user.issetuid () && (::cygheap->user.saved_uid != ::cygheap->user.real_uid); diff --git a/msys2-runtime/0010-Special-case-for-converting-root-directory-to-have-t.patch b/msys2-runtime/0010-Special-case-for-converting-root-directory-to-have-t.patch deleted file mode 100644 index 8e5600198f1..00000000000 --- a/msys2-runtime/0010-Special-case-for-converting-root-directory-to-have-t.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 4676ec44f24a0bfa208e6f0c79b0b059c88f6b1a 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 10/N] Special case for converting root directory to have - training slash - ---- - winsup/cygwin/path.cc | 25 ++++++++++++++++--------- - 1 file changed, 16 insertions(+), 9 deletions(-) - -diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc -index 17646a8..77480aa 100644 ---- a/winsup/cygwin/path.cc -+++ b/winsup/cygwin/path.cc -@@ -709,6 +709,12 @@ path_conv::check (const char *src, unsigned opt, - need_directory = 1; - *--tail = '\0'; - } -+ /* Special case for "/" must set need_directory, without removing -+ trailing slash */ -+ else if (tail == path_copy + 1 && isslash (tail[-1])) -+ { -+ need_directory = 1; -+ } - path_end = tail; - - /* Scan path_copy from right to left looking either for a symlink -@@ -1248,16 +1254,17 @@ path_conv::check (const char *src, unsigned opt, - cfree (wide_path); - wide_path = NULL; - } -- if (need_directory) -+ } -+ -+ if (need_directory) -+ { -+ size_t n = strlen (this->path); -+ /* Do not add trailing \ to UNC device names like \\.\a: */ -+ if (this->path[n - 1] != '\\' && -+ (strncmp (this->path, "\\\\.\\", 4) != 0)) - { -- size_t n = strlen (this->path); -- /* Do not add trailing \ to UNC device names like \\.\a: */ -- if (this->path[n - 1] != '\\' && -- (strncmp (this->path, "\\\\.\\", 4) != 0)) -- { -- this->modifiable_path ()[n] = '\\'; -- this->modifiable_path ()[n + 1] = '\0'; -- } -+ this->modifiable_path ()[n] = '\\'; -+ this->modifiable_path ()[n + 1] = '\0'; - } - } - diff --git a/msys2-runtime/0010-path_conv-special-case-root-directory-to-have-traili.patch b/msys2-runtime/0010-path_conv-special-case-root-directory-to-have-traili.patch new file mode 100644 index 00000000000..87c737d1bfd --- /dev/null +++ b/msys2-runtime/0010-path_conv-special-case-root-directory-to-have-traili.patch @@ -0,0 +1,57 @@ +From 3a974ad0bfb2745d038840520936a2ee3e96c43d 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 10/N] path_conv: special-case root directory to have trailing + slash + +When converting `/c/` to `C:\`, the trailing slash is actually really +necessary, as `C:` is not an absolute path. + +We must be very careful to do this only for root directories, though. If +we kept the trailing slash also for, say, `/y/directory/`, we would run +into the following issue: On FAT file systems, the normalized path is +used to fake inode numbers. As a result, `Y:\directory\` and +`Y:\directory` have different inode numbers!!! + +This would result in very non-obvious symptoms. Back when we were too +careless about keeping the trailing slash, it was reported to the Git +for Windows project that the `find` and `rm` commands can error out on +FAT file systems with very confusing "No such file or directory" errors, +for no good reason. + +During the original investigation, Vasil Minkov pointed out in +https://github.com/git-for-windows/git/issues/1497#issuecomment-372665870, +that this bug had been fixed in Cygwin as early as 1997... and the bug +was unfortunately reintroduced into early MSYS2 versions. + +Signed-off-by: Johannes Schindelin +--- + winsup/cygwin/path.cc | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc +index 3378b6d..916ec61 100644 +--- a/winsup/cygwin/path.cc ++++ b/winsup/cygwin/path.cc +@@ -709,6 +709,12 @@ path_conv::check (const char *src, unsigned opt, + need_directory = 1; + *--tail = '\0'; + } ++ /* Special case for "/" must set need_directory, without removing ++ trailing slash */ ++ else if (tail == path_copy + 1 && isslash (tail[-1])) ++ { ++ need_directory = 1; ++ } + path_end = tail; + + /* Scan path_copy from right to left looking either for a symlink +@@ -1248,6 +1254,7 @@ path_conv::check (const char *src, unsigned opt, + cfree (wide_path); + wide_path = NULL; + } ++ + if (need_directory) + { + size_t n = strlen (this->path); diff --git a/msys2-runtime/0011-dcrt0.cc-Untangle-allow_glob-from-winshell.patch b/msys2-runtime/0011-dcrt0.cc-Untangle-allow_glob-from-winshell.patch index f1f0dd62bb4..d7e0359677f 100644 --- a/msys2-runtime/0011-dcrt0.cc-Untangle-allow_glob-from-winshell.patch +++ b/msys2-runtime/0011-dcrt0.cc-Untangle-allow_glob-from-winshell.patch @@ -1,4 +1,4 @@ -From afe78f32340340ed57185049ad2dbb2bbb297eca Mon Sep 17 00:00:00 2001 +From b13aaa054a183a8559fa9ead30715ceb47ecbd58 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 21 Aug 2015 12:52:09 +0100 Subject: [PATCH 11/N] dcrt0.cc: Untangle allow_glob from winshell @@ -11,7 +11,7 @@ a Cygwin program. 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc -index ee75d3b..d652b32 100644 +index 4157bfe..478a0a5 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -154,12 +154,12 @@ isquote (char c) @@ -43,7 +43,7 @@ index ee75d3b..d652b32 100644 @@ -291,7 +291,7 @@ globify (char *word, char **&argv, int &argc, int &argvlen) /* Build argv, argc from string passed from Windows. */ - static void __stdcall + static void -build_argv (char *cmd, char **&argv, int &argc, int winshell) +build_argv (char *cmd, char **&argv, int &argc, int winshell, int glob) { @@ -67,7 +67,7 @@ index ee75d3b..d652b32 100644 { debug_printf ("argv[%d] = '%s'", argc, word); argv[argc++] = word; -@@ -952,6 +952,7 @@ dll_crt0_1 (void *) +@@ -903,6 +903,7 @@ dll_crt0_1 (void *) /* Scan the command line and build argv. Expand wildcards if not called from another cygwin process. */ build_argv (line, __argv, __argc, diff --git a/msys2-runtime/0012-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch b/msys2-runtime/0012-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch index 7e7cf9f052c..e1faa9f1157 100644 --- a/msys2-runtime/0012-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch +++ b/msys2-runtime/0012-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch @@ -1,4 +1,4 @@ -From 8cbda4bfc8f6ac7075a294498d62f803f6a141b5 Mon Sep 17 00:00:00 2001 +From dea97ee9f28ea6f4e8651fbe16a01768bcdcc596 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 24 Aug 2015 00:48:06 +0100 Subject: [PATCH 12/N] dcrt0.cc (globify): Don't quote literal strings @@ -30,7 +30,7 @@ the expense of sensible forward-slash-containing input. 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc -index d652b32..f75ba5f 100644 +index 478a0a5..38e4052 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -236,10 +236,20 @@ globify (char *word, char **&argv, int &argc, int &argvlen) diff --git a/msys2-runtime/0013-strace.cc-Don-t-set-MSYS-noglob.patch b/msys2-runtime/0013-strace.cc-Don-t-set-MSYS-noglob.patch index 83237e286ac..830c9096474 100644 --- a/msys2-runtime/0013-strace.cc-Don-t-set-MSYS-noglob.patch +++ b/msys2-runtime/0013-strace.cc-Don-t-set-MSYS-noglob.patch @@ -1,4 +1,4 @@ -From 93909972c22cc7b1d2e4e9528037d03041730697 Mon Sep 17 00:00:00 2001 +From de9363da4cc5ec7483b4eb6ea9fa222c5b819b0b Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 23 Aug 2015 20:47:30 +0100 Subject: [PATCH 13/N] strace.cc: Don't set MSYS=noglob @@ -26,7 +26,7 @@ See quoted () comment: 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/winsup/utils/mingw/strace.cc b/winsup/utils/mingw/strace.cc -index de4abc4..3dbce3b 100644 +index a875bf2..cdfc3d6 100644 --- a/winsup/utils/mingw/strace.cc +++ b/winsup/utils/mingw/strace.cc @@ -354,10 +354,28 @@ create_child (char **argv) diff --git a/msys2-runtime/0014-Add-debugging-for-build_argv.patch b/msys2-runtime/0014-Add-debugging-for-build_argv.patch index cdd5ebaf6d7..d9ed2db60ae 100644 --- a/msys2-runtime/0014-Add-debugging-for-build_argv.patch +++ b/msys2-runtime/0014-Add-debugging-for-build_argv.patch @@ -1,4 +1,4 @@ -From 5a00c6b3403e644f59c5dac3c7051aa277612feb Mon Sep 17 00:00:00 2001 +From 323ee1c665b6bfe97f40bf0bd20845ffe738f62c Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 21 Aug 2015 12:18:52 +0100 Subject: [PATCH 14/N] Add debugging for build_argv @@ -8,7 +8,7 @@ Subject: [PATCH 14/N] Add debugging for build_argv 1 file changed, 2 insertions(+) diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc -index f75ba5f..4dc8be8 100644 +index 38e4052..300b31c 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -310,6 +310,8 @@ build_argv (char *cmd, char **&argv, int &argc, int winshell, int glob) diff --git a/msys2-runtime/0015-Add-debugging-for-strace-make_command_line.patch b/msys2-runtime/0015-Add-debugging-for-strace-make_command_line.patch index 19abff4b252..c0b6e3f10fd 100644 --- a/msys2-runtime/0015-Add-debugging-for-strace-make_command_line.patch +++ b/msys2-runtime/0015-Add-debugging-for-strace-make_command_line.patch @@ -1,4 +1,4 @@ -From aaadd113642fa4989550b57e506e7f1648b2bf3d Mon Sep 17 00:00:00 2001 +From e2941a053634eea0af27d05460530e9a968f4167 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 21 Aug 2015 09:52:47 +0100 Subject: [PATCH 15/N] Add debugging for strace make_command_line @@ -8,7 +8,7 @@ Subject: [PATCH 15/N] Add debugging for strace make_command_line 1 file changed, 1 insertion(+) diff --git a/winsup/utils/mingw/strace.cc b/winsup/utils/mingw/strace.cc -index 3dbce3b..4e5d24c 100644 +index cdfc3d6..e7ec38e 100644 --- a/winsup/utils/mingw/strace.cc +++ b/winsup/utils/mingw/strace.cc @@ -352,6 +352,7 @@ create_child (char **argv) diff --git a/msys2-runtime/0016-environ.cc-New-facility-environment-variable-MSYS2_E.patch b/msys2-runtime/0016-environ.cc-New-facility-environment-variable-MSYS2_E.patch index 1ef09c7a011..c0061b61458 100644 --- a/msys2-runtime/0016-environ.cc-New-facility-environment-variable-MSYS2_E.patch +++ b/msys2-runtime/0016-environ.cc-New-facility-environment-variable-MSYS2_E.patch @@ -1,4 +1,4 @@ -From 9559773cc4474eeaad7dabb061d909ad5e0aa3c9 Mon Sep 17 00:00:00 2001 +From 543fc51df000ea2dbabbeecbe53fe9f8001a18c0 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 10 Apr 2016 21:47:41 +0100 Subject: [PATCH 16/N] environ.cc: New facility/environment variable @@ -17,18 +17,18 @@ config variables (LOCAL_SOFT) and when this happens, msys2-runtime converts R_ARCH from "/x64" to an absolute Windows path and appends it to another absolute path, R_HOME, forming an invalid path. --- - winsup/cygwin/environ.cc | 34 ++++++++++++++++++++++++---------- - winsup/cygwin/miscfuncs.cc | 21 +++++++++++++++++++++ - winsup/cygwin/miscfuncs.h | 2 ++ - winsup/cygwin/path.cc | 1 - - winsup/cygwin/spawn.cc | 12 ++---------- - 5 files changed, 49 insertions(+), 21 deletions(-) + winsup/cygwin/environ.cc | 34 +++++++++++++++++------- + winsup/cygwin/local_includes/miscfuncs.h | 2 ++ + winsup/cygwin/miscfuncs.cc | 20 ++++++++++++++ + winsup/cygwin/path.cc | 1 - + winsup/cygwin/spawn.cc | 12 ++------- + 5 files changed, 48 insertions(+), 21 deletions(-) diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc -index 2e290a8..49631d6 100644 +index 7a4a6ea..4a15069 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc -@@ -1185,6 +1185,10 @@ build_env (const char * const *envp, PWCHAR &envblock, int &envc, +@@ -1171,6 +1171,10 @@ build_env (const char * const *envp, PWCHAR &envblock, int &envc, int tl = 0; char **pass_dstp; @@ -39,7 +39,7 @@ index 2e290a8..49631d6 100644 char **pass_env = (char **) alloca (sizeof (char *) * (n + winnum + SPENVS_SIZE + 1)); /* Iterate over input list, generating a new environment list and refreshing -@@ -1193,16 +1197,25 @@ build_env (const char * const *envp, PWCHAR &envblock, int &envc, +@@ -1179,16 +1183,25 @@ build_env (const char * const *envp, PWCHAR &envblock, int &envc, { bool calc_tl = !no_envblock; #ifdef __MSYS__ @@ -74,7 +74,7 @@ index 2e290a8..49631d6 100644 } #endif /* Look for entries that require special attention */ -@@ -1327,7 +1340,8 @@ build_env (const char * const *envp, PWCHAR &envblock, int &envc, +@@ -1313,7 +1326,8 @@ build_env (const char * const *envp, PWCHAR &envblock, int &envc, } #ifdef __MSYS__ else if (!keep_posix) { @@ -84,11 +84,24 @@ index 2e290a8..49631d6 100644 debug_printf("WIN32_PATH is %s", win_arg); p = cstrdup1(win_arg); if (win_arg != *srcp) +diff --git a/winsup/cygwin/local_includes/miscfuncs.h b/winsup/cygwin/local_includes/miscfuncs.h +index d52deba..c4dbe02 100644 +--- a/winsup/cygwin/local_includes/miscfuncs.h ++++ b/winsup/cygwin/local_includes/miscfuncs.h +@@ -81,6 +81,8 @@ void backslashify (const char *, char *, bool); + void slashify (const char *, char *, bool); + #define isslash(c) ((c) == '/') + ++size_t string_split_delimited (char * string, char delimiter); ++ + extern void transform_chars (PWCHAR, PWCHAR); + extern inline void + transform_chars (PUNICODE_STRING upath, USHORT start_idx) diff --git a/winsup/cygwin/miscfuncs.cc b/winsup/cygwin/miscfuncs.cc -index adf9a3d..55c8518 100644 +index 767384f..160c996 100644 --- a/winsup/cygwin/miscfuncs.cc +++ b/winsup/cygwin/miscfuncs.cc -@@ -325,6 +325,27 @@ NT_readline::gets () +@@ -311,6 +311,26 @@ NT_readline::gets () } } @@ -112,28 +125,14 @@ index adf9a3d..55c8518 100644 + return count; +} + -+ - /* Return an address from the import jmp table of main program. */ - void * __reg1 - __import_address (void *imp) -diff --git a/winsup/cygwin/miscfuncs.h b/winsup/cygwin/miscfuncs.h -index 47cef6f..b3d1a6b 100644 ---- a/winsup/cygwin/miscfuncs.h -+++ b/winsup/cygwin/miscfuncs.h -@@ -88,6 +88,8 @@ void backslashify (const char *, char *, bool); - void slashify (const char *, char *, bool); - #define isslash(c) ((c) == '/') + /* Signal the thread name to any attached debugger -+size_t string_split_delimited (char * string, char delimiter); -+ - extern void transform_chars (PWCHAR, PWCHAR); - extern inline void - transform_chars (PUNICODE_STRING upath, USHORT start_idx) + (See "How to: Set a Thread Name in Native Code" diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc -index 77480aa..9edd949 100644 +index 916ec61..6cbd449 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc -@@ -4015,7 +4015,6 @@ arg_heuristic_with_exclusions (char const * const arg, char const * exclusions, +@@ -4019,7 +4019,6 @@ arg_heuristic_with_exclusions (char const * const arg, char const * exclusions, return arg_result; } @@ -142,10 +141,10 @@ index 77480aa..9edd949 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 49cd941..8359f12 100644 +index 95f64a4..e285653 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc -@@ -289,8 +289,7 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, +@@ -282,8 +282,7 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, int res = -1; /* Environment variable MSYS2_ARG_CONV_EXCL contains a list @@ -155,7 +154,7 @@ index 49cd941..8359f12 100644 A value of * means don't convert any arguments. */ char* msys2_arg_conv_excl_env = getenv("MSYS2_ARG_CONV_EXCL"); char* msys2_arg_conv_excl = NULL; -@@ -299,14 +298,7 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, +@@ -292,14 +291,7 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, { msys2_arg_conv_excl = (char*)alloca (strlen(msys2_arg_conv_excl_env)+1); strcpy (msys2_arg_conv_excl, msys2_arg_conv_excl_env); diff --git a/msys2-runtime/0017-Fix-native-symbolic-link-spawn-passing-wrong-arg0.patch b/msys2-runtime/0017-Fix-native-symbolic-link-spawn-passing-wrong-arg0.patch index 9ed3b549ded..8d4cb88f8df 100644 --- a/msys2-runtime/0017-Fix-native-symbolic-link-spawn-passing-wrong-arg0.patch +++ b/msys2-runtime/0017-Fix-native-symbolic-link-spawn-passing-wrong-arg0.patch @@ -1,4 +1,4 @@ -From 3578452c55a3754bb64f8bfd19b4e194f6bf2ef2 Mon Sep 17 00:00:00 2001 +From 49dab0325342aa033f653ff152f1c361bf47d713 Mon Sep 17 00:00:00 2001 From: SquallATF Date: Mon, 10 Sep 2018 11:32:18 +0300 Subject: [PATCH 17/N] Fix native symbolic link spawn passing wrong arg0 @@ -8,10 +8,10 @@ Subject: [PATCH 17/N] Fix native symbolic link spawn passing wrong arg0 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc -index 8359f12..4f28335 100644 +index e285653..4d93c13 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc -@@ -51,7 +51,7 @@ perhaps_suffix (const char *prog, path_conv& buf, int& err, unsigned opt) +@@ -50,7 +50,7 @@ perhaps_suffix (const char *prog, path_conv& buf, int& err, unsigned opt) err = 0; debug_printf ("prog '%s'", prog); diff --git a/msys2-runtime/0018-QueryUnbiasedInterruptTime-must-be-load-from-kernel3.patch b/msys2-runtime/0018-QueryUnbiasedInterruptTime-must-be-load-from-kernel3.patch deleted file mode 100644 index ea43e36aa57..00000000000 --- a/msys2-runtime/0018-QueryUnbiasedInterruptTime-must-be-load-from-kernel3.patch +++ /dev/null @@ -1,23 +0,0 @@ -From b0485d48b3e82ba2c37fb2aa294458c0c79eeafe Mon Sep 17 00:00:00 2001 -From: Alexey Pavlov -Date: Fri, 24 May 2019 13:41:47 +0300 -Subject: [PATCH 18/N] QueryUnbiasedInterruptTime must be load from - kernel32.dll - ---- - winsup/cygwin/autoload.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/winsup/cygwin/autoload.cc b/winsup/cygwin/autoload.cc -index e254397..2a03ac1 100644 ---- a/winsup/cygwin/autoload.cc -+++ b/winsup/cygwin/autoload.cc -@@ -596,7 +596,7 @@ LoadDLLfunc (SetThreadGroupAffinity, 12, kernel32) - available via KernelBase.dll. */ - LoadDLLfunc (QueryInterruptTime, 4, KernelBase) - LoadDLLfunc (QueryInterruptTimePrecise, 4, KernelBase) --LoadDLLfunc (QueryUnbiasedInterruptTime, 4, KernelBase) -+LoadDLLfunc (QueryUnbiasedInterruptTime, 4, kernel32) - LoadDLLfunc (QueryUnbiasedInterruptTimePrecise, 4, KernelBase) - LoadDLLfunc (VirtualAlloc2, 28, KernelBase) - diff --git a/msys2-runtime/0019-strace-quiet-be-really-quiet.patch b/msys2-runtime/0018-strace-quiet-be-really-quiet.patch similarity index 90% rename from msys2-runtime/0019-strace-quiet-be-really-quiet.patch rename to msys2-runtime/0018-strace-quiet-be-really-quiet.patch index b9575b46299..ba635ef6443 100644 --- a/msys2-runtime/0019-strace-quiet-be-really-quiet.patch +++ b/msys2-runtime/0018-strace-quiet-be-really-quiet.patch @@ -1,7 +1,7 @@ -From 09db143dac95e1f4e06756a9819c7ef76e1a6841 Mon Sep 17 00:00:00 2001 +From fcf31598c5ad19abc43e9dcabf70a597f189be21 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 17 May 2017 18:13:32 +0200 -Subject: [PATCH 19/N] strace --quiet: be *really* quiet +Subject: [PATCH 18/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 @@ -22,7 +22,7 @@ Signed-off-by: Johannes Schindelin 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/winsup/utils/mingw/strace.cc b/winsup/utils/mingw/strace.cc -index 4e5d24c..a4713a2 100644 +index e7ec38e..f6186be 100644 --- a/winsup/utils/mingw/strace.cc +++ b/winsup/utils/mingw/strace.cc @@ -352,7 +352,8 @@ create_child (char **argv) diff --git a/msys2-runtime/0021-Introduce-the-enable_pcon-value-for-MSYS.patch b/msys2-runtime/0019-Introduce-the-enable_pcon-value-for-MSYS.patch similarity index 92% rename from msys2-runtime/0021-Introduce-the-enable_pcon-value-for-MSYS.patch rename to msys2-runtime/0019-Introduce-the-enable_pcon-value-for-MSYS.patch index 4ce63e7943d..8a5d9f9cf1f 100644 --- a/msys2-runtime/0021-Introduce-the-enable_pcon-value-for-MSYS.patch +++ b/msys2-runtime/0019-Introduce-the-enable_pcon-value-for-MSYS.patch @@ -1,7 +1,7 @@ -From a4a2aebc21843483387198cdb20db3a1eeb99362 Mon Sep 17 00:00:00 2001 +From dbf2e161a6fd4f15b9b7807688b13e76f8715076 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 19/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 @@ -19,7 +19,7 @@ Signed-off-by: Johannes Schindelin 1 file changed, 9 insertions(+) diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc -index 49631d6..daaa1ec 100644 +index 4a15069..89e989a 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc @@ -42,6 +42,7 @@ enum settings diff --git a/msys2-runtime/0020-Default-to-disable_pcon.patch b/msys2-runtime/0020-Default-to-disable_pcon.patch deleted file mode 100644 index 3963062d048..00000000000 --- a/msys2-runtime/0020-Default-to-disable_pcon.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 8e89fffcfb0884da1398dd55f0d0cc57294549ec Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Tue, 19 May 2020 13:24:55 +0200 -Subject: [PATCH 20/N] Default to `disable_pcon` - -The pseudo console support is just a bit too buggy still: - -- When typing anything in an interactive Bash session before the prompt - is shown, frequently the keystrokes are then replayed _twice_ when the - prompt is active. - - Even worse: it seems that under certain circumstances (e.g. when - spawning `less.exe` from a MINGW process), keystrokes are recorded - while a process is active that wants to consume them but those - recorded keystrokes are then replayed once the process finished (e.g. - the `q` keystroke to exit `less.exe` will then be misinterpreted for - interactive input in the Bash session). - -- When `vim` is called from a MINGW process, it seems that the terminal - loses the `onlcr` property after the `vim` process finished, i.e. - subsequently printed lines do not start at the beginning of the line - anymore, but precisely where the previous line ended. - -- In `vim`, when selecting text visually (via the `v` keystroke), it - seems that the selection is frequently reset while navigating with the - arrow keys. - -There are probably quite a few more rough edges in the pseudo console -feature, unfortunately. - -In light of these issues, it makes most sense to disable the pseudo -console support and make it opt-in rather than opt-out. - -Signed-off-by: Johannes Schindelin ---- - winsup/cygwin/globals.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/winsup/cygwin/globals.cc b/winsup/cygwin/globals.cc -index 1b8d8e2..29ca896 100644 ---- a/winsup/cygwin/globals.cc -+++ b/winsup/cygwin/globals.cc -@@ -74,7 +74,7 @@ bool pipe_byte; - bool reset_com; - bool wincmdln; - winsym_t allow_winsymlinks = WSYM_deepcopy; --bool disable_pcon; -+bool disable_pcon = true; - - bool NO_COPY in_forkee; - diff --git a/msys2-runtime/0022-popen-call-usr-bin-sh-instead-of-bin-sh.patch b/msys2-runtime/0020-popen-call-usr-bin-sh-instead-of-bin-sh.patch similarity index 66% rename from msys2-runtime/0022-popen-call-usr-bin-sh-instead-of-bin-sh.patch rename to msys2-runtime/0020-popen-call-usr-bin-sh-instead-of-bin-sh.patch index e43b7f35a03..d48a5728c12 100644 --- a/msys2-runtime/0022-popen-call-usr-bin-sh-instead-of-bin-sh.patch +++ b/msys2-runtime/0020-popen-call-usr-bin-sh-instead-of-bin-sh.patch @@ -1,7 +1,7 @@ -From f9b94aa83675ae1d080c23c270fab083a99f6413 Mon Sep 17 00:00:00 2001 +From 6368b3882e3089b3fb79996a204429d6a07c7fd0 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 20/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. @@ -17,15 +17,15 @@ in this scenario, so this maybe should be extended to all of them. 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc -index 0890390..f6ffb1c 100644 +index d21059b..5c7f46a 100644 --- a/winsup/cygwin/syscalls.cc +++ b/winsup/cygwin/syscalls.cc -@@ -4614,7 +4614,7 @@ popen (const char *command, const char *in_type) - fcntl64 (stdchild, F_SETFD, stdchild_state | FD_CLOEXEC); +@@ -4324,7 +4324,7 @@ popen (const char *command, const char *in_type) + fcntl (stdchild, F_SETFD, stdchild_state | FD_CLOEXEC); /* Start a shell process to run the given command without forking. */ -- pid_t pid = ch_spawn.worker ("/bin/sh", argv, cur_environ (), _P_NOWAIT, -+ pid_t pid = ch_spawn.worker ("/usr/bin/sh", argv, cur_environ (), _P_NOWAIT, +- pid_t pid = ch_spawn.worker ("/bin/sh", argv, environ, _P_NOWAIT, ++ pid_t pid = ch_spawn.worker ("/usr/bin/sh", argv, environ, _P_NOWAIT, __std[0], __std[1]); /* Reinstate the close-on-exec state */ diff --git a/msys2-runtime/0023-Expose-full-command-lines-to-other-Win32-processes-b.patch b/msys2-runtime/0021-Expose-full-command-lines-to-other-Win32-processes-b.patch similarity index 81% rename from msys2-runtime/0023-Expose-full-command-lines-to-other-Win32-processes-b.patch rename to msys2-runtime/0021-Expose-full-command-lines-to-other-Win32-processes-b.patch index 85f58f240fd..7beccbb2a02 100644 --- a/msys2-runtime/0023-Expose-full-command-lines-to-other-Win32-processes-b.patch +++ b/msys2-runtime/0021-Expose-full-command-lines-to-other-Win32-processes-b.patch @@ -1,7 +1,7 @@ -From b37c67a23018d626b4a4228f71c8eda2f6d96f77 Mon Sep 17 00:00:00 2001 +From 8b216a6faf6d254703449a5c810f90ef32b6c751 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 21/N] Expose full command-lines to other Win32 processes by default In the Cygwin project, it was decided that the command-line of Cygwin @@ -26,23 +26,23 @@ Signed-off-by: Johannes Schindelin 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/winsup/cygwin/globals.cc b/winsup/cygwin/globals.cc -index 29ca896..b4a0c87 100644 +index cd907b7..1541fa4 100644 --- a/winsup/cygwin/globals.cc +++ b/winsup/cygwin/globals.cc -@@ -72,7 +72,7 @@ bool allow_glob = true; +@@ -70,7 +70,7 @@ bool allow_glob = true; bool ignore_case_with_glob; - bool pipe_byte; + bool pipe_byte = true; /* Default to byte mode so that C# programs work. */ bool reset_com; -bool wincmdln; +bool wincmdln = true; winsym_t allow_winsymlinks = WSYM_deepcopy; - bool disable_pcon = true; + bool disable_pcon; diff --git a/winsup/doc/cygwinenv.xml b/winsup/doc/cygwinenv.xml -index 649084d..28056e6 100644 +index 5e17404..3051416 100644 --- a/winsup/doc/cygwinenv.xml +++ b/winsup/doc/cygwinenv.xml -@@ -72,7 +72,7 @@ time and when handles are inherited. Defaults to set. +@@ -73,7 +73,7 @@ time and when handles are inherited. Defaults to set. (no)wincmdln - if set, the windows complete command line (truncated to ~32K) will be passed on any processes that it creates diff --git a/msys2-runtime/0024-Do-not-show-Error-dialogs-by-default.patch b/msys2-runtime/0022-Do-not-show-Error-dialogs-by-default.patch similarity index 87% rename from msys2-runtime/0024-Do-not-show-Error-dialogs-by-default.patch rename to msys2-runtime/0022-Do-not-show-Error-dialogs-by-default.patch index e80cdba6747..d43b0553c67 100644 --- a/msys2-runtime/0024-Do-not-show-Error-dialogs-by-default.patch +++ b/msys2-runtime/0022-Do-not-show-Error-dialogs-by-default.patch @@ -1,7 +1,7 @@ -From c20ec3a443668ab7047a383958e1b2d9f687bbf0 Mon Sep 17 00:00:00 2001 +From ff3a5cca8ba0ed353a83db7bcb09eddfd4990193 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 31 Mar 2021 11:38:41 +0200 -Subject: [PATCH 24/N] Do not show Error dialogs by default +Subject: [PATCH 22/N] Do not show Error dialogs by default In https://github.com/msys2/msys2-runtime/pull/18, we discussed a change that would allow default Windows error handling of spawned processes to @@ -27,7 +27,7 @@ Signed-off-by: Johannes Schindelin 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc -index daaa1ec..f4e2c68 100644 +index 89e989a..31ada02 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc @@ -128,6 +128,7 @@ static struct parse_thing @@ -39,22 +39,22 @@ index daaa1ec..f4e2c68 100644 }; diff --git a/winsup/cygwin/globals.cc b/winsup/cygwin/globals.cc -index b4a0c87..5c111ab 100644 +index 1541fa4..f243aad 100644 --- a/winsup/cygwin/globals.cc +++ b/winsup/cygwin/globals.cc -@@ -75,6 +75,7 @@ bool reset_com; +@@ -73,6 +73,7 @@ bool reset_com; bool wincmdln = true; winsym_t allow_winsymlinks = WSYM_deepcopy; - bool disable_pcon = true; + bool disable_pcon; +bool winjitdebug = false; bool NO_COPY in_forkee; diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc -index 4f28335..bc9dc5a 100644 +index 4d93c13..e0770ae 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc -@@ -460,7 +460,7 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, +@@ -429,7 +429,7 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv, get the default error mode instead of inheriting the mode Cygwin uses. This allows things like Windows Error Reporting/JIT debugging to work with processes launched from a Cygwin shell. */ diff --git a/msys2-runtime/0025-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 97% rename from msys2-runtime/0025-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 7a3888e0a79..391720e93de 100644 --- a/msys2-runtime/0025-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 22f77091e940c4d404dd5478c31823745effe5a9 Mon Sep 17 00:00:00 2001 +From 3b8d173ea32b922536578f1f1eea15cd85a6a81b Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 16 Apr 2018 14:59:39 +0200 -Subject: [PATCH 25/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 @@ -23,10 +23,10 @@ Signed-off-by: Johannes Schindelin create mode 100644 winsup/utils/mingw/getprocaddr.c diff --git a/winsup/configure.ac b/winsup/configure.ac -index 9a11411..5eb3273 100644 +index 9205a88..9713244 100644 --- a/winsup/configure.ac +++ b/winsup/configure.ac -@@ -95,6 +95,11 @@ if test "x$with_cross_bootstrap" != "xyes"; then +@@ -106,6 +106,11 @@ if test "x$with_cross_bootstrap" != "xyes"; then test -n "$MINGW_CXX" || AC_MSG_ERROR([no acceptable MinGW g++ found in \$PATH]) AC_CHECK_PROGS(MINGW_CC, ${target_cpu}-w64-mingw32-gcc) test -n "$MINGW_CC" || AC_MSG_ERROR([no acceptable MinGW gcc found in \$PATH]) @@ -39,7 +39,7 @@ index 9a11411..5eb3273 100644 AM_CONDITIONAL(CROSS_BOOTSTRAP, [test "x$with_cross_bootstrap" != "xyes"]) diff --git a/winsup/utils/mingw/Makefile.am b/winsup/utils/mingw/Makefile.am -index 46d8213..0e4218a 100644 +index c26eef8..d66c226 100644 --- a/winsup/utils/mingw/Makefile.am +++ b/winsup/utils/mingw/Makefile.am @@ -26,6 +26,21 @@ bin_PROGRAMS = \ diff --git a/msys2-runtime/0026-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch b/msys2-runtime/0024-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch similarity index 98% rename from msys2-runtime/0026-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch rename to msys2-runtime/0024-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch index 53ff7090af4..5ba92eeba51 100644 --- a/msys2-runtime/0026-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch +++ b/msys2-runtime/0024-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch @@ -1,7 +1,7 @@ -From be43d1330988ee93aa837c3f4610ef35a04349e8 Mon Sep 17 00:00:00 2001 +From 517e680a32567c5ab4aad6f40da2b27a0bac703a Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Fri, 20 Mar 2015 09:56:28 +0000 -Subject: [PATCH 26/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 5fe6b4d..ed4b427 100644 +index b154a3b..b843063 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -29,6 +29,7 @@ details. */ @@ -102,9 +102,9 @@ index 5fe6b4d..ed4b427 100644 #include "gcc_seh.h" +#include "cygwin/exit_process.h" - /* Definitions for code simplification */ - #ifdef __x86_64__ -@@ -1580,10 +1581,25 @@ exit_sig: + /* Define macros for CPU-agnostic register access. The _CX_foo + macros are for access into CONTEXT, the _MC_foo ones for access into +@@ -1511,10 +1512,25 @@ exit_sig: dosig: if (have_execed) { diff --git a/msys2-runtime/0027-kill-kill-Win32-processes-more-gently.patch b/msys2-runtime/0025-kill-kill-Win32-processes-more-gently.patch similarity index 91% rename from msys2-runtime/0027-kill-kill-Win32-processes-more-gently.patch rename to msys2-runtime/0025-kill-kill-Win32-processes-more-gently.patch index 45e9d0d66c4..ef316a43998 100644 --- a/msys2-runtime/0027-kill-kill-Win32-processes-more-gently.patch +++ b/msys2-runtime/0025-kill-kill-Win32-processes-more-gently.patch @@ -1,7 +1,7 @@ -From 486c7601503c313c3fc3d84b1144064067754f2f Mon Sep 17 00:00:00 2001 +From 1b5a940f48c75953a198e229399b0013a65a1fa6 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Fri, 20 Mar 2015 10:01:50 +0000 -Subject: [PATCH 27/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. @@ -13,7 +13,7 @@ Signed-off-by: Johannes Schindelin 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/winsup/utils/kill.cc b/winsup/utils/kill.cc -index d0fb547..ad718c3 100644 +index 04c9774..978a639 100644 --- a/winsup/utils/kill.cc +++ b/winsup/utils/kill.cc @@ -17,6 +17,7 @@ details. */ diff --git a/msys2-runtime/0028-Cygwin-make-option-for-native-inner-link-handling.patch b/msys2-runtime/0026-Cygwin-make-option-for-native-inner-link-handling.patch similarity index 76% rename from msys2-runtime/0028-Cygwin-make-option-for-native-inner-link-handling.patch rename to msys2-runtime/0026-Cygwin-make-option-for-native-inner-link-handling.patch index 72cad16a5bd..24743083c5d 100644 --- a/msys2-runtime/0028-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 aa9dbc9c9fc47ae4371d5847b358122eb1f54750 Mon Sep 17 00:00:00 2001 +From 2b362b2df3dc788c78d88fed164c43917656105e Mon Sep 17 00:00:00 2001 From: Jeremy Drake Date: Thu, 22 Jul 2021 11:59:16 -0700 -Subject: [PATCH 28/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 @@ -13,7 +13,7 @@ needed. MSYS=nonativeinnerlinks 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc -index f4e2c68..18c37ee 100644 +index 31ada02..b285a7c 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc @@ -129,6 +129,7 @@ static struct parse_thing @@ -25,25 +25,25 @@ index f4e2c68..18c37ee 100644 }; diff --git a/winsup/cygwin/globals.cc b/winsup/cygwin/globals.cc -index 5c111ab..6c15138 100644 +index f243aad..bb37ca2 100644 --- a/winsup/cygwin/globals.cc +++ b/winsup/cygwin/globals.cc -@@ -76,6 +76,7 @@ bool wincmdln = true; +@@ -74,6 +74,7 @@ bool wincmdln = true; winsym_t allow_winsymlinks = WSYM_deepcopy; - bool disable_pcon = true; + bool disable_pcon; bool winjitdebug = false; +bool nativeinnerlinks = true; bool NO_COPY in_forkee; diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc -index 9edd949..9a3ad7a 100644 +index 6cbd449..c0b85c0 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc -@@ -3645,7 +3645,8 @@ restart: - goto file_not_symlink; - } - #endif /* __i386__ */ +@@ -3690,7 +3690,8 @@ 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. */ - if ((pc_flags & (PC_SYM_FOLLOW | PC_SYM_NOFOLLOW_REP)) == PC_SYM_FOLLOW) + if (nativeinnerlinks + && (pc_flags & (PC_SYM_FOLLOW | PC_SYM_NOFOLLOW_REP)) == PC_SYM_FOLLOW) diff --git a/msys2-runtime/0029-docs-skip-building-texinfo-and-PDF-files.patch b/msys2-runtime/0027-docs-skip-building-texinfo-and-PDF-files.patch similarity index 53% rename from msys2-runtime/0029-docs-skip-building-texinfo-and-PDF-files.patch rename to msys2-runtime/0027-docs-skip-building-texinfo-and-PDF-files.patch index 1b319520827..b779b8202ae 100644 --- a/msys2-runtime/0029-docs-skip-building-texinfo-and-PDF-files.patch +++ b/msys2-runtime/0027-docs-skip-building-texinfo-and-PDF-files.patch @@ -1,17 +1,37 @@ -From 20f59b414ff39195eb42bca7751ee3b4ae33f870 Mon Sep 17 00:00:00 2001 +From e5b4f9213a47e844a98e12e6de5eeeef9ef8c960 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 8 Nov 2021 14:20:07 +0100 -Subject: [PATCH 29/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. Signed-off-by: Johannes Schindelin --- + winsup/configure.ac | 7 +++---- winsup/doc/Makefile.am | 9 +++------ - 1 file changed, 3 insertions(+), 6 deletions(-) + 2 files changed, 6 insertions(+), 10 deletions(-) +diff --git a/winsup/configure.ac b/winsup/configure.ac +index 9713244..a27b301 100644 +--- a/winsup/configure.ac ++++ b/winsup/configure.ac +@@ -84,11 +84,10 @@ AM_CONDITIONAL(BUILD_DOC, [test $enable_doc != "no"]) + AC_CHECK_PROGS([DOCBOOK2XTEXI], [docbook2x-texi db2x_docbook2texi]) + if test -z "$DOCBOOK2XTEXI" ; then + if test "x$enable_doc" != "xno"; then +- AC_MSG_ERROR([docbook2texi is required to build documentation]) +- else +- unset DOCBOOK2XTEXI +- AM_MISSING_PROG([DOCBOOK2XTEXI], [docbook2texi]) ++ AC_MSG_WARN([docbook2texi is required to build documentation]) + fi ++ unset DOCBOOK2XTEXI ++ AM_MISSING_PROG([DOCBOOK2XTEXI], [docbook2texi]) + fi + + AC_CHECK_PROGS([XMLTO], [xmlto]) diff --git a/winsup/doc/Makefile.am b/winsup/doc/Makefile.am -index 534d674..d448ede 100644 +index 650e0c9..55e9b95 100644 --- a/winsup/doc/Makefile.am +++ b/winsup/doc/Makefile.am @@ -10,9 +10,7 @@ man1_MANS = @@ -25,7 +45,7 @@ index 534d674..d448ede 100644 htmldir = $(datarootdir)/doc -@@ -28,8 +26,7 @@ all-local: Makefile.dep \ +@@ -35,8 +33,7 @@ all-local: Makefile.dep \ cygwin-ug-net/cygwin-ug-net.html \ faq/faq.html faq/faq.body \ cygwin-ug-net/cygwin-ug-net-nochunks.html.gz \ @@ -35,7 +55,7 @@ index 534d674..d448ede 100644 clean-local: rm -f Makefile.dep -@@ -69,7 +66,7 @@ install-etc: +@@ -76,7 +73,7 @@ install-etc: @$(MKDIR_P) $(DESTDIR)$(sysconfdir)/preremove $(INSTALL_SCRIPT) $(srcdir)/etc.preremove.cygwin-doc.sh $(DESTDIR)$(sysconfdir)/preremove/cygwin-doc.sh diff --git a/msys2-runtime/0030-install-libs-depend-on-the-toollibs.patch b/msys2-runtime/0028-install-libs-depend-on-the-toollibs.patch similarity index 74% rename from msys2-runtime/0030-install-libs-depend-on-the-toollibs.patch rename to msys2-runtime/0028-install-libs-depend-on-the-toollibs.patch index 8c664884f6e..4644f11cc64 100644 --- a/msys2-runtime/0030-install-libs-depend-on-the-toollibs.patch +++ b/msys2-runtime/0028-install-libs-depend-on-the-toollibs.patch @@ -1,7 +1,7 @@ -From 31b5e84ef74da21c7a8f9fea5c7395154f1ae36b Mon Sep 17 00:00:00 2001 +From 63c36144eaf060e0ba5f15199ee6ffa49f19e153 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 8 Nov 2021 16:22:57 +0100 -Subject: [PATCH 30/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,15 +14,15 @@ 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 23a3c23..f1fe01d 100644 +index 70e3363..673bb7b 100644 --- a/winsup/cygwin/Makefile.am +++ b/winsup/cygwin/Makefile.am -@@ -727,7 +727,7 @@ man_MANS = regex/regex.3 regex/regex.7 +@@ -685,7 +685,7 @@ man_MANS = regex/regex.3 regex/regex.7 install-exec-hook: install-libs install-data-local: install-headers install-ldif -install-libs: +install-libs: install-toollibDATA @$(MKDIR_P) $(DESTDIR)$(bindir) - $(INSTALL_PROGRAM) $(TEST_DLL_NAME) $(DESTDIR)$(bindir)/$(DLL_NAME) + $(INSTALL_PROGRAM) $(NEW_DLL_NAME) $(DESTDIR)$(bindir)/$(DLL_NAME) @$(MKDIR_P) $(DESTDIR)$(toollibdir) diff --git a/msys2-runtime/0031-POSIX-ify-the-SHELL-variable.patch b/msys2-runtime/0029-POSIX-ify-the-SHELL-variable.patch similarity index 82% rename from msys2-runtime/0031-POSIX-ify-the-SHELL-variable.patch rename to msys2-runtime/0029-POSIX-ify-the-SHELL-variable.patch index fe9a32cce2d..f46ee8dd001 100644 --- a/msys2-runtime/0031-POSIX-ify-the-SHELL-variable.patch +++ b/msys2-runtime/0029-POSIX-ify-the-SHELL-variable.patch @@ -1,7 +1,7 @@ -From ae6fceff61edab2e97a3af6dcb2ded9a738c8bf0 Mon Sep 17 00:00:00 2001 +From 0f0dddab41fe45d707be04ce46c1cf0d96eba80a Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 23 Nov 2015 20:03:11 +0100 -Subject: [PATCH 31/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 @@ -42,15 +42,15 @@ https://github.com/git-for-windows/git/issues/468. Signed-off-by: Johannes Schindelin --- - winsup/cygwin/environ.cc | 8 +++++++- - winsup/cygwin/environ.h | 2 +- + winsup/cygwin/environ.cc | 8 +++++++- + winsup/cygwin/local_includes/environ.h | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc -index 18c37ee..5c197a6 100644 +index b285a7c..dad25b9 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc -@@ -327,6 +327,7 @@ static win_env conv_envvars[] = +@@ -323,6 +323,7 @@ static win_env conv_envvars[] = {NL ("HOME="), NULL, NULL, env_path_to_posix, env_path_to_win32, false}, {NL ("LD_LIBRARY_PATH="), NULL, NULL, env_plist_to_posix, env_plist_to_win32, true}, @@ -58,7 +58,7 @@ index 18c37ee..5c197a6 100644 {NL ("TMPDIR="), NULL, NULL, env_path_to_posix, env_path_to_win32, false}, {NL ("TMP="), NULL, NULL, env_path_to_posix, env_path_to_win32, false}, {NL ("TEMP="), NULL, NULL, env_path_to_posix, env_path_to_win32, false}, -@@ -355,7 +356,7 @@ static const unsigned char conv_start_chars[256] = +@@ -351,7 +352,7 @@ static const unsigned char conv_start_chars[256] = WC, 0, 0, 0, WC, 0, 0, 0, /* 80 */ /* P Q R S T U V W */ @@ -67,7 +67,7 @@ index 18c37ee..5c197a6 100644 /* 88 */ /* x Y Z */ 0, 0, 0, 0, 0, 0, 0, 0, -@@ -384,6 +385,7 @@ win_env::operator = (struct win_env& x) +@@ -380,6 +381,7 @@ win_env::operator = (struct win_env& x) toposix = x.toposix; towin32 = x.towin32; immediate = false; @@ -75,7 +75,7 @@ index 18c37ee..5c197a6 100644 return *this; } -@@ -405,6 +407,8 @@ win_env::add_cache (const char *in_posix, const char *in_native) +@@ -401,6 +403,8 @@ win_env::add_cache (const char *in_posix, const char *in_native) native = (char *) realloc (native, namelen + 1 + strlen (in_native)); stpcpy (stpcpy (native, name), in_native); } @@ -84,7 +84,7 @@ index 18c37ee..5c197a6 100644 else { tmp_pathbuf tp; -@@ -470,6 +474,8 @@ posify_maybe (char **here, const char *value, char *outenv) +@@ -466,6 +470,8 @@ posify_maybe (char **here, const char *value, char *outenv) return; int len = strcspn (src, "=") + 1; @@ -93,16 +93,16 @@ index 18c37ee..5c197a6 100644 /* Turn all the items from c:; into their mounted equivalents - if there is one. */ -diff --git a/winsup/cygwin/environ.h b/winsup/cygwin/environ.h -index 71c3f22..f33740d 100644 ---- a/winsup/cygwin/environ.h -+++ b/winsup/cygwin/environ.h +diff --git a/winsup/cygwin/local_includes/environ.h b/winsup/cygwin/local_includes/environ.h +index 0dd4535..fd6ca46 100644 +--- a/winsup/cygwin/local_includes/environ.h ++++ b/winsup/cygwin/local_includes/environ.h @@ -21,7 +21,7 @@ struct win_env char *native; ssize_t (*toposix) (const void *, void *, size_t); ssize_t (*towin32) (const void *, void *, size_t); - bool immediate; + bool immediate, skip_if_empty; - void __reg3 add_cache (const char *in_posix, const char *in_native = NULL); + void add_cache (const char *in_posix, const char *in_native = NULL); const char * get_native () const {return native ? native + namelen : NULL;} const char * get_posix () const {return posix ? posix : NULL;} diff --git a/msys2-runtime/0032-Handle-ORIGINAL_PATH-just-like-PATH.patch b/msys2-runtime/0030-Handle-ORIGINAL_PATH-just-like-PATH.patch similarity index 89% rename from msys2-runtime/0032-Handle-ORIGINAL_PATH-just-like-PATH.patch rename to msys2-runtime/0030-Handle-ORIGINAL_PATH-just-like-PATH.patch index 7f647c3b5c9..9481c62872d 100644 --- a/msys2-runtime/0032-Handle-ORIGINAL_PATH-just-like-PATH.patch +++ b/msys2-runtime/0030-Handle-ORIGINAL_PATH-just-like-PATH.patch @@ -1,7 +1,7 @@ -From 7af6781845542e53a96def2997912f68537202e8 Mon Sep 17 00:00:00 2001 +From 3361c42506bb3579d1da9ec86257b49498902bdb Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Tue, 21 Mar 2017 13:18:38 +0100 -Subject: [PATCH 32/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. @@ -26,10 +26,10 @@ Signed-off-by: Johannes Schindelin 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc -index 5c197a6..5afac8d 100644 +index dad25b9..ffb1d5e 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc -@@ -327,6 +327,7 @@ static win_env conv_envvars[] = +@@ -323,6 +323,7 @@ static win_env conv_envvars[] = {NL ("HOME="), NULL, NULL, env_path_to_posix, env_path_to_win32, false}, {NL ("LD_LIBRARY_PATH="), NULL, NULL, env_plist_to_posix, env_plist_to_win32, true}, @@ -37,7 +37,7 @@ index 5c197a6..5afac8d 100644 {NL ("SHELL="), NULL, NULL, env_path_to_posix, env_path_to_win32, true, true}, {NL ("TMPDIR="), NULL, NULL, env_path_to_posix, env_path_to_win32, false}, {NL ("TMP="), NULL, NULL, env_path_to_posix, env_path_to_win32, false}, -@@ -353,7 +354,7 @@ static const unsigned char conv_start_chars[256] = +@@ -349,7 +350,7 @@ static const unsigned char conv_start_chars[256] = 0, 0, 0, 0, 0, 0, 0, 0, /* 72 */ /* H I J K L M N O */ diff --git a/msys2-runtime/0033-uname-allow-setting-the-system-name-to-CYGWIN.patch b/msys2-runtime/0031-uname-allow-setting-the-system-name-to-CYGWIN.patch similarity index 78% rename from msys2-runtime/0033-uname-allow-setting-the-system-name-to-CYGWIN.patch rename to msys2-runtime/0031-uname-allow-setting-the-system-name-to-CYGWIN.patch index 917aca0d2ef..3a75a2146e9 100644 --- a/msys2-runtime/0033-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 1a5f889bdb136397b64e25311ad68c93806b3bea Mon Sep 17 00:00:00 2001 +From 8272d344cabb617d2a048705de5fdc8d29892efd Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 3 Jul 2022 22:39:32 +0200 -Subject: [PATCH 33/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" @@ -19,10 +19,10 @@ affecting users. 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/winsup/cygwin/uname.cc b/winsup/cygwin/uname.cc -index daed73f..f6a5f88 100644 +index 0d0c5aa..a4ac0e3 100644 --- a/winsup/cygwin/uname.cc +++ b/winsup/cygwin/uname.cc -@@ -23,6 +23,24 @@ extern "C" int getdomainname (char *__name, size_t __len); +@@ -24,6 +24,24 @@ extern "C" int getdomainname (char *__name, size_t __len); #define ATTRIBUTE_NONSTRING #endif @@ -56,15 +56,15 @@ index daed73f..f6a5f88 100644 - if (msystem != NULL && *msystem && strcmp(msystem, "MSYS") != 0) - msystem_sysname = (strstr(msystem, "32") != NULL) ? "MINGW32" : "MINGW64";; + const char* sysname = get_sysname(); - __small_sprintf (name->sysname, "%s_%s-%u%s", + __small_sprintf (name->sysname, "%s_%s-%u", - msystem_sysname, + sysname, - wincap.osname (), wincap.build_number (), - wincap.is_wow64 () ? "-WOW64" : ""); + wincap.osname (), wincap.build_number ()); /* nodename */ -@@ -103,15 +118,8 @@ uname (struct utsname *in_name) - char *snp = strstr (cygwin_version.dll_build_date, "SNP"); - + memset (buf, 0, sizeof buf); +@@ -107,15 +122,8 @@ uname (struct utsname *in_name) + __try + { memset (name, 0, sizeof (*name)); -#ifdef __MSYS__ - char* msystem = getenv("MSYSTEM"); @@ -78,5 +78,5 @@ index daed73f..f6a5f88 100644 + const char* sysname = get_sysname(); + __small_sprintf (name->sysname, "%s_%s", sysname, wincap.osname ()); - /* Add a hint to the sysname, that we're running under WOW64. This might - give an early clue if somebody encounters problems. */ + /* Computer name */ + cygwin_gethostname (name->nodename, sizeof (name->nodename) - 1); diff --git a/msys2-runtime/0036-Pass-environment-variables-with-empty-values.patch b/msys2-runtime/0032-Pass-environment-variables-with-empty-values.patch similarity index 84% rename from msys2-runtime/0036-Pass-environment-variables-with-empty-values.patch rename to msys2-runtime/0032-Pass-environment-variables-with-empty-values.patch index 2b7ed266ee5..279b7aa1549 100644 --- a/msys2-runtime/0036-Pass-environment-variables-with-empty-values.patch +++ b/msys2-runtime/0032-Pass-environment-variables-with-empty-values.patch @@ -1,7 +1,7 @@ -From 3e9c003101b17d11e250c8a3ec92de219db67860 Mon Sep 17 00:00:00 2001 +From 7733936ce08c58cb2dcd8959d3d1affe61f5c199 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 18 Feb 2015 12:32:17 +0000 -Subject: [PATCH 36/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 @@ -17,10 +17,10 @@ Signed-off-by: Johannes Schindelin 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc -index 5afac8d..522d7d5 100644 +index ffb1d5e..0152095 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc -@@ -1339,11 +1339,11 @@ build_env (const char * const *envp, PWCHAR &envblock, int &envc, +@@ -1325,11 +1325,11 @@ build_env (const char * const *envp, PWCHAR &envblock, int &envc, Note that this doesn't stop invalid strings without '=' in it etc., but we're opting for speed here for now. Adding complete checking would be pretty expensive. */ @@ -34,7 +34,7 @@ index 5afac8d..522d7d5 100644 if (conv) { p = conv->native; /* Use win32 path */ -@@ -1357,7 +1357,7 @@ build_env (const char * const *envp, PWCHAR &envblock, int &envc, +@@ -1343,7 +1343,7 @@ build_env (const char * const *envp, PWCHAR &envblock, int &envc, } } #ifdef __MSYS__ diff --git a/msys2-runtime/0033-Optionally-disallow-empty-environment-values-again.patch b/msys2-runtime/0033-Optionally-disallow-empty-environment-values-again.patch new file mode 100644 index 00000000000..3a5147424d3 --- /dev/null +++ b/msys2-runtime/0033-Optionally-disallow-empty-environment-values-again.patch @@ -0,0 +1,57 @@ +From de7153655559d9979fe98200bc6342350181522e Mon Sep 17 00:00:00 2001 +From: Johannes Schindelin +Date: Tue, 6 Sep 2022 10:40:58 +0200 +Subject: [PATCH 33/N] Optionally disallow empty environment values again + +We just disabled the code that skips environment variables whose values +are empty. + +However, this code was introduced a long time ago into Cygwin in +d6b1ac7faa (* environ.cc (build_env): Don't put an empty environment +variable into the environment. Optimize use of "len". * errno.cc +(ERROR_MORE_DATA): Translate to EMSGSIZE rather than EAGAIN., +2006-09-07), seemingly without any complaints. + +Meaning: There might very well be use cases out there where it makes +sense to skip empty-valued environment variables. + +Therefore, it seems like a good idea to have a "knob" to turn it back +on. With this commit, we introduce such a knob: by setting +`noemptyenvvalues` the `MSYS` variable (or appending it if that variable +is already set), users can tell the MSYS2 runtime to behave just like in +the olden times. + +Signed-off-by: Johannes Schindelin +--- + winsup/cygwin/environ.cc | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc +index 0152095..a1abbb5 100644 +--- a/winsup/cygwin/environ.cc ++++ b/winsup/cygwin/environ.cc +@@ -36,6 +36,7 @@ static char **lastenviron; + /* Parse CYGWIN options */ + + static NO_COPY bool export_settings = false; ++static bool emptyenvvalues = true; + + enum settings + { +@@ -130,6 +131,7 @@ static struct parse_thing + {"enable_pcon", {&disable_pcon}, setnegbool, NULL, {{true}, {false}}}, + {"winjitdebug", {&winjitdebug}, setbool, NULL, {{false}, {true}}}, + {"nativeinnerlinks", {&nativeinnerlinks}, setbool, NULL, {{false}, {true}}}, ++ {"emptyenvvalues", {&emptyenvvalues}, setbool, NULL, {{false}, {true}}}, + {NULL, {0}, setdword, 0, {{0}, {0}}} + }; + +@@ -1325,7 +1327,7 @@ build_env (const char * const *envp, PWCHAR &envblock, int &envc, + Note that this doesn't stop invalid strings without '=' in it + etc., but we're opting for speed here for now. Adding complete + checking would be pretty expensive. */ +- if (len == 1) ++ if (len == 1 || (!emptyenvvalues && !*rest)) + continue; + + /* See if this entry requires posix->win32 conversion. */ diff --git a/msys2-runtime/0034-Implicitly-support-the-dev-fd-symlink-and-friends.patch b/msys2-runtime/0034-Implicitly-support-the-dev-fd-symlink-and-friends.patch deleted file mode 100644 index d54b35b17d0..00000000000 --- a/msys2-runtime/0034-Implicitly-support-the-dev-fd-symlink-and-friends.patch +++ /dev/null @@ -1,6639 +0,0 @@ -From fa9554836f101ac65e8fb8f40b86517eaf5510f5 Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Sun, 20 Feb 2022 00:25:22 +0100 -Subject: [PATCH 34/N] Implicitly support the /dev/fd symlink and friends - -Bash has a very convenient feature that is called process substitution -(e.g. `diff -u <(seq 0 10) <(seq 1 11)`). To make this work, Bash -requires the `/dev/fd` symlink to exist, and MSYS2 and Cygwin therefore -create this symlink (together with the `stdin`, `stdout` and `stderr` -ones) upon start-up. - -This strategy is a bit incompatible with Git for Windows, which wants to -install the pseudo root into a write-protected area, concretely in -`C:\Program Files\Git`. - -This strategy is _also_ incompatible with the idea of providing MinGit -as a `.zip` file (because there is no standard way to represent symlinks -in `.zip` files, and besides, older Windows versions would potentially -lack support for them anyway). - -Let's side-step this completely by creating those symlinks implicitly, -similar to the way `/dev/` is populated with special devices. - -The diff is misleadlingly large due to the re-generated `devices.cc`. - -Signed-off-by: Johannes Schindelin ---- - winsup/cygwin/Makefile.am | 1 + - winsup/cygwin/devices.cc | 1494 ++++++++++++++++-------------- - winsup/cygwin/devices.h | 3 +- - winsup/cygwin/devices.in | 4 + - winsup/cygwin/dtable.cc | 3 + - winsup/cygwin/fhandler.h | 28 + - winsup/cygwin/fhandler_dev_fd.cc | 53 ++ - 7 files changed, 879 insertions(+), 707 deletions(-) - create mode 100644 winsup/cygwin/fhandler_dev_fd.cc - -diff --git a/winsup/cygwin/Makefile.am b/winsup/cygwin/Makefile.am -index f1fe01d..01666e1 100644 ---- a/winsup/cygwin/Makefile.am -+++ b/winsup/cygwin/Makefile.am -@@ -230,6 +230,7 @@ DLL_FILES= \ - fhandler_console.cc \ - fhandler_cygdrive.cc \ - fhandler_dev.cc \ -+ fhandler_dev_fd.cc \ - fhandler_disk_file.cc \ - fhandler_dsp.cc \ - fhandler_fifo.cc \ -diff --git a/winsup/cygwin/devices.cc b/winsup/cygwin/devices.cc -index 6ef886d..a0762f2 100644 ---- a/winsup/cygwin/devices.cc -+++ b/winsup/cygwin/devices.cc -@@ -300,6 +300,7 @@ const _RDATA _device dev_storage[] = - {"/dev/cons127", BRACK(FHDEV(DEV_CONS_MAJOR, 127)), "/dev/cons127", exists_console, S_IFCHR, true}, - {"/dev/console", BRACK(FH_CONSOLE), "/dev/console", exists_console, S_IFCHR, true}, - {"/dev/dsp", BRACK(FH_OSS_DSP), "\\Device\\Null", exists_ntdev, S_IFCHR, true}, -+ {"/dev/fd", BRACK(FH_DEV_FD), "/proc/self/fd", exists, S_IFLNK, true}, - {"/dev/fd0", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 0)), "\\Device\\Floppy0", exists_ntdev, S_IFBLK, true}, - {"/dev/fd1", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 1)), "\\Device\\Floppy1", exists_ntdev, S_IFBLK, true}, - {"/dev/fd2", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 2)), "\\Device\\Floppy2", exists_ntdev, S_IFBLK, true}, -@@ -736,6 +737,9 @@ const _RDATA _device dev_storage[] = - {"/dev/st125", BRACK(FHDEV(DEV_TAPE_MAJOR, 125)), "\\Device\\Tape125", exists_ntdev, S_IFBLK, true}, - {"/dev/st126", BRACK(FHDEV(DEV_TAPE_MAJOR, 126)), "\\Device\\Tape126", exists_ntdev, S_IFBLK, true}, - {"/dev/st127", BRACK(FHDEV(DEV_TAPE_MAJOR, 127)), "\\Device\\Tape127", exists_ntdev, S_IFBLK, true}, -+ {"/dev/stderr", BRACK(FH_DEV_FD), "/proc/self/fd/2", exists, S_IFLNK, true}, -+ {"/dev/stdin", BRACK(FH_DEV_FD), "/proc/self/fd/0", exists, S_IFLNK, true}, -+ {"/dev/stdout", BRACK(FH_DEV_FD), "/proc/self/fd/1", exists, S_IFLNK, true}, - {"/dev/tty", BRACK(FH_TTY), "/dev/tty", exists, S_IFCHR, true}, - {"/dev/ttyS0", BRACK(FHDEV(DEV_SERIAL_MAJOR, 0)), "\\??\\COM1", exists_ntdev, S_IFCHR, true}, - {"/dev/ttyS1", BRACK(FHDEV(DEV_SERIAL_MAJOR, 1)), "\\??\\COM2", exists_ntdev, S_IFCHR, true}, -@@ -1002,9 +1006,9 @@ const _RDATA _device dev_storage[] = - - const _device *cons_dev = dev_storage + 20; - const _device *console_dev = dev_storage + 148; --const _device *ptym_dev = dev_storage + 720; --const _device *ptys_dev = dev_storage + 297; --const _device *urandom_dev = dev_storage + 715; -+const _device *ptym_dev = dev_storage + 724; -+const _device *ptys_dev = dev_storage + 298; -+const _device *urandom_dev = dev_storage + 719; - - - static KR_device_t KR_find_keyword (const char *KR_keyword, int KR_length) -@@ -1034,7 +1038,7 @@ return NULL; - if (strncmp (KR_keyword, ":pipe", 5) == 0) - { - { --return dev_storage + 719; -+return dev_storage + 723; - - } - } -@@ -1049,7 +1053,7 @@ return NULL; - if (strncmp (KR_keyword, ":fifo", 5) == 0) - { - { --return dev_storage + 718; -+return dev_storage + 722; - - } - } -@@ -1073,7 +1077,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym9", 6) == 0) - { - { --return dev_storage + 729; -+return dev_storage + 733; - - } - } -@@ -1088,7 +1092,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym8", 6) == 0) - { - { --return dev_storage + 728; -+return dev_storage + 732; - - } - } -@@ -1103,7 +1107,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym7", 6) == 0) - { - { --return dev_storage + 727; -+return dev_storage + 731; - - } - } -@@ -1118,7 +1122,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym6", 6) == 0) - { - { --return dev_storage + 726; -+return dev_storage + 730; - - } - } -@@ -1133,7 +1137,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym5", 6) == 0) - { - { --return dev_storage + 725; -+return dev_storage + 729; - - } - } -@@ -1148,7 +1152,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym4", 6) == 0) - { - { --return dev_storage + 724; -+return dev_storage + 728; - - } - } -@@ -1163,7 +1167,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym3", 6) == 0) - { - { --return dev_storage + 723; -+return dev_storage + 727; - - } - } -@@ -1178,7 +1182,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym2", 6) == 0) - { - { --return dev_storage + 722; -+return dev_storage + 726; - - } - } -@@ -1193,7 +1197,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym1", 6) == 0) - { - { --return dev_storage + 721; -+return dev_storage + 725; - - } - } -@@ -1208,7 +1212,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym0", 6) == 0) - { - { --return dev_storage + 720; -+return dev_storage + 724; - - } - } -@@ -1228,6 +1232,21 @@ return NULL; - case 7: - switch (KR_keyword [5]) - { -+ case 'f': -+ if (strncmp (KR_keyword, "/dev/fd", 7) == 0) -+ { -+{ -+return dev_storage + 150; -+ -+} -+ } -+ else -+ { -+{ -+return NULL; -+ -+} -+ } - case '9': - switch (KR_keyword [6]) - { -@@ -1235,7 +1254,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym99", 7) == 0) - { - { --return dev_storage + 819; -+return dev_storage + 823; - - } - } -@@ -1250,7 +1269,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym98", 7) == 0) - { - { --return dev_storage + 818; -+return dev_storage + 822; - - } - } -@@ -1265,7 +1284,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym97", 7) == 0) - { - { --return dev_storage + 817; -+return dev_storage + 821; - - } - } -@@ -1280,7 +1299,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym96", 7) == 0) - { - { --return dev_storage + 816; -+return dev_storage + 820; - - } - } -@@ -1295,7 +1314,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym95", 7) == 0) - { - { --return dev_storage + 815; -+return dev_storage + 819; - - } - } -@@ -1310,7 +1329,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym94", 7) == 0) - { - { --return dev_storage + 814; -+return dev_storage + 818; - - } - } -@@ -1325,7 +1344,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym93", 7) == 0) - { - { --return dev_storage + 813; -+return dev_storage + 817; - - } - } -@@ -1340,7 +1359,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym92", 7) == 0) - { - { --return dev_storage + 812; -+return dev_storage + 816; - - } - } -@@ -1355,7 +1374,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym91", 7) == 0) - { - { --return dev_storage + 811; -+return dev_storage + 815; - - } - } -@@ -1370,7 +1389,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym90", 7) == 0) - { - { --return dev_storage + 810; -+return dev_storage + 814; - - } - } -@@ -1394,7 +1413,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym89", 7) == 0) - { - { --return dev_storage + 809; -+return dev_storage + 813; - - } - } -@@ -1409,7 +1428,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym88", 7) == 0) - { - { --return dev_storage + 808; -+return dev_storage + 812; - - } - } -@@ -1424,7 +1443,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym87", 7) == 0) - { - { --return dev_storage + 807; -+return dev_storage + 811; - - } - } -@@ -1439,7 +1458,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym86", 7) == 0) - { - { --return dev_storage + 806; -+return dev_storage + 810; - - } - } -@@ -1454,7 +1473,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym85", 7) == 0) - { - { --return dev_storage + 805; -+return dev_storage + 809; - - } - } -@@ -1469,7 +1488,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym84", 7) == 0) - { - { --return dev_storage + 804; -+return dev_storage + 808; - - } - } -@@ -1484,7 +1503,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym83", 7) == 0) - { - { --return dev_storage + 803; -+return dev_storage + 807; - - } - } -@@ -1499,7 +1518,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym82", 7) == 0) - { - { --return dev_storage + 802; -+return dev_storage + 806; - - } - } -@@ -1514,7 +1533,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym81", 7) == 0) - { - { --return dev_storage + 801; -+return dev_storage + 805; - - } - } -@@ -1529,7 +1548,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym80", 7) == 0) - { - { --return dev_storage + 800; -+return dev_storage + 804; - - } - } -@@ -1553,7 +1572,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym79", 7) == 0) - { - { --return dev_storage + 799; -+return dev_storage + 803; - - } - } -@@ -1568,7 +1587,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym78", 7) == 0) - { - { --return dev_storage + 798; -+return dev_storage + 802; - - } - } -@@ -1583,7 +1602,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym77", 7) == 0) - { - { --return dev_storage + 797; -+return dev_storage + 801; - - } - } -@@ -1598,7 +1617,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym76", 7) == 0) - { - { --return dev_storage + 796; -+return dev_storage + 800; - - } - } -@@ -1613,7 +1632,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym75", 7) == 0) - { - { --return dev_storage + 795; -+return dev_storage + 799; - - } - } -@@ -1628,7 +1647,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym74", 7) == 0) - { - { --return dev_storage + 794; -+return dev_storage + 798; - - } - } -@@ -1643,7 +1662,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym73", 7) == 0) - { - { --return dev_storage + 793; -+return dev_storage + 797; - - } - } -@@ -1658,7 +1677,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym72", 7) == 0) - { - { --return dev_storage + 792; -+return dev_storage + 796; - - } - } -@@ -1673,7 +1692,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym71", 7) == 0) - { - { --return dev_storage + 791; -+return dev_storage + 795; - - } - } -@@ -1688,7 +1707,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym70", 7) == 0) - { - { --return dev_storage + 790; -+return dev_storage + 794; - - } - } -@@ -1712,7 +1731,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym69", 7) == 0) - { - { --return dev_storage + 789; -+return dev_storage + 793; - - } - } -@@ -1727,7 +1746,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym68", 7) == 0) - { - { --return dev_storage + 788; -+return dev_storage + 792; - - } - } -@@ -1742,7 +1761,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym67", 7) == 0) - { - { --return dev_storage + 787; -+return dev_storage + 791; - - } - } -@@ -1757,7 +1776,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym66", 7) == 0) - { - { --return dev_storage + 786; -+return dev_storage + 790; - - } - } -@@ -1772,7 +1791,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym65", 7) == 0) - { - { --return dev_storage + 785; -+return dev_storage + 789; - - } - } -@@ -1787,7 +1806,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym64", 7) == 0) - { - { --return dev_storage + 784; -+return dev_storage + 788; - - } - } -@@ -1802,7 +1821,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym63", 7) == 0) - { - { --return dev_storage + 783; -+return dev_storage + 787; - - } - } -@@ -1817,7 +1836,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym62", 7) == 0) - { - { --return dev_storage + 782; -+return dev_storage + 786; - - } - } -@@ -1832,7 +1851,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym61", 7) == 0) - { - { --return dev_storage + 781; -+return dev_storage + 785; - - } - } -@@ -1847,7 +1866,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym60", 7) == 0) - { - { --return dev_storage + 780; -+return dev_storage + 784; - - } - } -@@ -1871,7 +1890,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym59", 7) == 0) - { - { --return dev_storage + 779; -+return dev_storage + 783; - - } - } -@@ -1886,7 +1905,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym58", 7) == 0) - { - { --return dev_storage + 778; -+return dev_storage + 782; - - } - } -@@ -1901,7 +1920,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym57", 7) == 0) - { - { --return dev_storage + 777; -+return dev_storage + 781; - - } - } -@@ -1916,7 +1935,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym56", 7) == 0) - { - { --return dev_storage + 776; -+return dev_storage + 780; - - } - } -@@ -1931,7 +1950,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym55", 7) == 0) - { - { --return dev_storage + 775; -+return dev_storage + 779; - - } - } -@@ -1946,7 +1965,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym54", 7) == 0) - { - { --return dev_storage + 774; -+return dev_storage + 778; - - } - } -@@ -1961,7 +1980,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym53", 7) == 0) - { - { --return dev_storage + 773; -+return dev_storage + 777; - - } - } -@@ -1976,7 +1995,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym52", 7) == 0) - { - { --return dev_storage + 772; -+return dev_storage + 776; - - } - } -@@ -1991,7 +2010,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym51", 7) == 0) - { - { --return dev_storage + 771; -+return dev_storage + 775; - - } - } -@@ -2006,7 +2025,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym50", 7) == 0) - { - { --return dev_storage + 770; -+return dev_storage + 774; - - } - } -@@ -2030,7 +2049,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym49", 7) == 0) - { - { --return dev_storage + 769; -+return dev_storage + 773; - - } - } -@@ -2045,7 +2064,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym48", 7) == 0) - { - { --return dev_storage + 768; -+return dev_storage + 772; - - } - } -@@ -2060,7 +2079,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym47", 7) == 0) - { - { --return dev_storage + 767; -+return dev_storage + 771; - - } - } -@@ -2075,7 +2094,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym46", 7) == 0) - { - { --return dev_storage + 766; -+return dev_storage + 770; - - } - } -@@ -2090,7 +2109,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym45", 7) == 0) - { - { --return dev_storage + 765; -+return dev_storage + 769; - - } - } -@@ -2105,7 +2124,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym44", 7) == 0) - { - { --return dev_storage + 764; -+return dev_storage + 768; - - } - } -@@ -2120,7 +2139,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym43", 7) == 0) - { - { --return dev_storage + 763; -+return dev_storage + 767; - - } - } -@@ -2135,7 +2154,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym42", 7) == 0) - { - { --return dev_storage + 762; -+return dev_storage + 766; - - } - } -@@ -2150,7 +2169,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym41", 7) == 0) - { - { --return dev_storage + 761; -+return dev_storage + 765; - - } - } -@@ -2165,7 +2184,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym40", 7) == 0) - { - { --return dev_storage + 760; -+return dev_storage + 764; - - } - } -@@ -2189,7 +2208,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym39", 7) == 0) - { - { --return dev_storage + 759; -+return dev_storage + 763; - - } - } -@@ -2204,7 +2223,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym38", 7) == 0) - { - { --return dev_storage + 758; -+return dev_storage + 762; - - } - } -@@ -2219,7 +2238,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym37", 7) == 0) - { - { --return dev_storage + 757; -+return dev_storage + 761; - - } - } -@@ -2234,7 +2253,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym36", 7) == 0) - { - { --return dev_storage + 756; -+return dev_storage + 760; - - } - } -@@ -2249,7 +2268,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym35", 7) == 0) - { - { --return dev_storage + 755; -+return dev_storage + 759; - - } - } -@@ -2264,7 +2283,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym34", 7) == 0) - { - { --return dev_storage + 754; -+return dev_storage + 758; - - } - } -@@ -2279,7 +2298,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym33", 7) == 0) - { - { --return dev_storage + 753; -+return dev_storage + 757; - - } - } -@@ -2294,7 +2313,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym32", 7) == 0) - { - { --return dev_storage + 752; -+return dev_storage + 756; - - } - } -@@ -2309,7 +2328,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym31", 7) == 0) - { - { --return dev_storage + 751; -+return dev_storage + 755; - - } - } -@@ -2324,7 +2343,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym30", 7) == 0) - { - { --return dev_storage + 750; -+return dev_storage + 754; - - } - } -@@ -2348,7 +2367,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym29", 7) == 0) - { - { --return dev_storage + 749; -+return dev_storage + 753; - - } - } -@@ -2363,7 +2382,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym28", 7) == 0) - { - { --return dev_storage + 748; -+return dev_storage + 752; - - } - } -@@ -2378,7 +2397,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym27", 7) == 0) - { - { --return dev_storage + 747; -+return dev_storage + 751; - - } - } -@@ -2393,7 +2412,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym26", 7) == 0) - { - { --return dev_storage + 746; -+return dev_storage + 750; - - } - } -@@ -2408,7 +2427,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym25", 7) == 0) - { - { --return dev_storage + 745; -+return dev_storage + 749; - - } - } -@@ -2423,7 +2442,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym24", 7) == 0) - { - { --return dev_storage + 744; -+return dev_storage + 748; - - } - } -@@ -2438,7 +2457,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym23", 7) == 0) - { - { --return dev_storage + 743; -+return dev_storage + 747; - - } - } -@@ -2453,7 +2472,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym22", 7) == 0) - { - { --return dev_storage + 742; -+return dev_storage + 746; - - } - } -@@ -2468,7 +2487,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym21", 7) == 0) - { - { --return dev_storage + 741; -+return dev_storage + 745; - - } - } -@@ -2483,7 +2502,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym20", 7) == 0) - { - { --return dev_storage + 740; -+return dev_storage + 744; - - } - } -@@ -2507,7 +2526,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym19", 7) == 0) - { - { --return dev_storage + 739; -+return dev_storage + 743; - - } - } -@@ -2522,7 +2541,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym18", 7) == 0) - { - { --return dev_storage + 738; -+return dev_storage + 742; - - } - } -@@ -2537,7 +2556,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym17", 7) == 0) - { - { --return dev_storage + 737; -+return dev_storage + 741; - - } - } -@@ -2552,7 +2571,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym16", 7) == 0) - { - { --return dev_storage + 736; -+return dev_storage + 740; - - } - } -@@ -2567,7 +2586,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym15", 7) == 0) - { - { --return dev_storage + 735; -+return dev_storage + 739; - - } - } -@@ -2582,7 +2601,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym14", 7) == 0) - { - { --return dev_storage + 734; -+return dev_storage + 738; - - } - } -@@ -2597,7 +2616,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym13", 7) == 0) - { - { --return dev_storage + 733; -+return dev_storage + 737; - - } - } -@@ -2612,7 +2631,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym12", 7) == 0) - { - { --return dev_storage + 732; -+return dev_storage + 736; - - } - } -@@ -2627,7 +2646,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym11", 7) == 0) - { - { --return dev_storage + 731; -+return dev_storage + 735; - - } - } -@@ -2642,7 +2661,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym10", 7) == 0) - { - { --return dev_storage + 730; -+return dev_storage + 734; - - } - } -@@ -2672,7 +2691,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/tty", 8) == 0) - { - { --return dev_storage + 586; -+return dev_storage + 590; - - } - } -@@ -2705,7 +2724,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st9", 8) == 0) - { - { --return dev_storage + 467; -+return dev_storage + 468; - - } - } -@@ -2720,7 +2739,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/sr9", 8) == 0) - { - { --return dev_storage + 451; -+return dev_storage + 452; - - } - } -@@ -2735,7 +2754,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/fd9", 8) == 0) - { - { --return dev_storage + 159; -+return dev_storage + 160; - - } - } -@@ -2750,7 +2769,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym119", 8) == 0) - { - { --return dev_storage + 839; -+return dev_storage + 843; - - } - } -@@ -2765,7 +2784,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym109", 8) == 0) - { - { --return dev_storage + 829; -+return dev_storage + 833; - - } - } -@@ -2789,7 +2808,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st8", 8) == 0) - { - { --return dev_storage + 466; -+return dev_storage + 467; - - } - } -@@ -2804,7 +2823,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/sr8", 8) == 0) - { - { --return dev_storage + 450; -+return dev_storage + 451; - - } - } -@@ -2819,7 +2838,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/fd8", 8) == 0) - { - { --return dev_storage + 158; -+return dev_storage + 159; - - } - } -@@ -2834,7 +2853,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym118", 8) == 0) - { - { --return dev_storage + 838; -+return dev_storage + 842; - - } - } -@@ -2849,7 +2868,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym108", 8) == 0) - { - { --return dev_storage + 828; -+return dev_storage + 832; - - } - } -@@ -2873,7 +2892,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st7", 8) == 0) - { - { --return dev_storage + 465; -+return dev_storage + 466; - - } - } -@@ -2888,7 +2907,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/sr7", 8) == 0) - { - { --return dev_storage + 449; -+return dev_storage + 450; - - } - } -@@ -2903,7 +2922,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/fd7", 8) == 0) - { - { --return dev_storage + 157; -+return dev_storage + 158; - - } - } -@@ -2918,7 +2937,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym127", 8) == 0) - { - { --return dev_storage + 847; -+return dev_storage + 851; - - } - } -@@ -2933,7 +2952,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym117", 8) == 0) - { - { --return dev_storage + 837; -+return dev_storage + 841; - - } - } -@@ -2948,7 +2967,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym107", 8) == 0) - { - { --return dev_storage + 827; -+return dev_storage + 831; - - } - } -@@ -2972,7 +2991,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st6", 8) == 0) - { - { --return dev_storage + 464; -+return dev_storage + 465; - - } - } -@@ -2987,7 +3006,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/sr6", 8) == 0) - { - { --return dev_storage + 448; -+return dev_storage + 449; - - } - } -@@ -3002,7 +3021,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/fd6", 8) == 0) - { - { --return dev_storage + 156; -+return dev_storage + 157; - - } - } -@@ -3017,7 +3036,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym126", 8) == 0) - { - { --return dev_storage + 846; -+return dev_storage + 850; - - } - } -@@ -3032,7 +3051,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym116", 8) == 0) - { - { --return dev_storage + 836; -+return dev_storage + 840; - - } - } -@@ -3047,7 +3066,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym106", 8) == 0) - { - { --return dev_storage + 826; -+return dev_storage + 830; - - } - } -@@ -3071,7 +3090,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st5", 8) == 0) - { - { --return dev_storage + 463; -+return dev_storage + 464; - - } - } -@@ -3086,7 +3105,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/sr5", 8) == 0) - { - { --return dev_storage + 447; -+return dev_storage + 448; - - } - } -@@ -3101,7 +3120,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/fd5", 8) == 0) - { - { --return dev_storage + 155; -+return dev_storage + 156; - - } - } -@@ -3116,7 +3135,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym125", 8) == 0) - { - { --return dev_storage + 845; -+return dev_storage + 849; - - } - } -@@ -3131,7 +3150,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym115", 8) == 0) - { - { --return dev_storage + 835; -+return dev_storage + 839; - - } - } -@@ -3146,7 +3165,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym105", 8) == 0) - { - { --return dev_storage + 825; -+return dev_storage + 829; - - } - } -@@ -3170,7 +3189,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st4", 8) == 0) - { - { --return dev_storage + 462; -+return dev_storage + 463; - - } - } -@@ -3185,7 +3204,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/sr4", 8) == 0) - { - { --return dev_storage + 446; -+return dev_storage + 447; - - } - } -@@ -3200,7 +3219,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/fd4", 8) == 0) - { - { --return dev_storage + 154; -+return dev_storage + 155; - - } - } -@@ -3215,7 +3234,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym124", 8) == 0) - { - { --return dev_storage + 844; -+return dev_storage + 848; - - } - } -@@ -3230,7 +3249,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym114", 8) == 0) - { - { --return dev_storage + 834; -+return dev_storage + 838; - - } - } -@@ -3245,7 +3264,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym104", 8) == 0) - { - { --return dev_storage + 824; -+return dev_storage + 828; - - } - } -@@ -3269,7 +3288,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st3", 8) == 0) - { - { --return dev_storage + 461; -+return dev_storage + 462; - - } - } -@@ -3284,7 +3303,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/sr3", 8) == 0) - { - { --return dev_storage + 445; -+return dev_storage + 446; - - } - } -@@ -3299,7 +3318,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/fd3", 8) == 0) - { - { --return dev_storage + 153; -+return dev_storage + 154; - - } - } -@@ -3314,7 +3333,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym123", 8) == 0) - { - { --return dev_storage + 843; -+return dev_storage + 847; - - } - } -@@ -3329,7 +3348,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym113", 8) == 0) - { - { --return dev_storage + 833; -+return dev_storage + 837; - - } - } -@@ -3344,7 +3363,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym103", 8) == 0) - { - { --return dev_storage + 823; -+return dev_storage + 827; - - } - } -@@ -3368,7 +3387,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st2", 8) == 0) - { - { --return dev_storage + 460; -+return dev_storage + 461; - - } - } -@@ -3383,7 +3402,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/sr2", 8) == 0) - { - { --return dev_storage + 444; -+return dev_storage + 445; - - } - } -@@ -3398,7 +3417,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/fd2", 8) == 0) - { - { --return dev_storage + 152; -+return dev_storage + 153; - - } - } -@@ -3413,7 +3432,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym122", 8) == 0) - { - { --return dev_storage + 842; -+return dev_storage + 846; - - } - } -@@ -3428,7 +3447,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym112", 8) == 0) - { - { --return dev_storage + 832; -+return dev_storage + 836; - - } - } -@@ -3443,7 +3462,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym102", 8) == 0) - { - { --return dev_storage + 822; -+return dev_storage + 826; - - } - } -@@ -3467,7 +3486,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st1", 8) == 0) - { - { --return dev_storage + 459; -+return dev_storage + 460; - - } - } -@@ -3482,7 +3501,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/sr1", 8) == 0) - { - { --return dev_storage + 443; -+return dev_storage + 444; - - } - } -@@ -3497,7 +3516,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/fd1", 8) == 0) - { - { --return dev_storage + 151; -+return dev_storage + 152; - - } - } -@@ -3512,7 +3531,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym121", 8) == 0) - { - { --return dev_storage + 841; -+return dev_storage + 845; - - } - } -@@ -3527,7 +3546,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym111", 8) == 0) - { - { --return dev_storage + 831; -+return dev_storage + 835; - - } - } -@@ -3542,7 +3561,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym101", 8) == 0) - { - { --return dev_storage + 821; -+return dev_storage + 825; - - } - } -@@ -3566,7 +3585,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st0", 8) == 0) - { - { --return dev_storage + 458; -+return dev_storage + 459; - - } - } -@@ -3581,7 +3600,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/sr0", 8) == 0) - { - { --return dev_storage + 442; -+return dev_storage + 443; - - } - } -@@ -3596,7 +3615,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/fd0", 8) == 0) - { - { --return dev_storage + 150; -+return dev_storage + 151; - - } - } -@@ -3611,7 +3630,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym120", 8) == 0) - { - { --return dev_storage + 840; -+return dev_storage + 844; - - } - } -@@ -3626,7 +3645,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym110", 8) == 0) - { - { --return dev_storage + 830; -+return dev_storage + 834; - - } - } -@@ -3641,7 +3660,7 @@ return NULL; - if (strncmp (KR_keyword, ":ptym100", 8) == 0) - { - { --return dev_storage + 820; -+return dev_storage + 824; - - } - } -@@ -3671,7 +3690,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ptmx", 9) == 0) - { - { --return dev_storage + 296; -+return dev_storage + 297; - - } - } -@@ -3686,7 +3705,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/zero", 9) == 0) - { - { --return dev_storage + 717; -+return dev_storage + 721; - - } - } -@@ -3704,7 +3723,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/null", 9) == 0) - { - { --return dev_storage + 295; -+return dev_storage + 296; - - } - } -@@ -3719,7 +3738,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/full", 9) == 0) - { - { --return dev_storage + 166; -+return dev_storage + 167; - - } - } -@@ -3743,7 +3762,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty9", 9) == 0) - { - { --return dev_storage + 306; -+return dev_storage + 307; - - } - } -@@ -3758,7 +3777,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst9", 9) == 0) - { - { --return dev_storage + 176; -+return dev_storage + 177; - - } - } -@@ -3788,7 +3807,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/scd9", 9) == 0) - { - { --return dev_storage + 435; -+return dev_storage + 436; - - } - } -@@ -3803,7 +3822,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st99", 9) == 0) - { - { --return dev_storage + 557; -+return dev_storage + 558; - - } - } -@@ -3818,7 +3837,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st89", 9) == 0) - { - { --return dev_storage + 547; -+return dev_storage + 548; - - } - } -@@ -3833,7 +3852,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st79", 9) == 0) - { - { --return dev_storage + 537; -+return dev_storage + 538; - - } - } -@@ -3848,7 +3867,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st69", 9) == 0) - { - { --return dev_storage + 527; -+return dev_storage + 528; - - } - } -@@ -3863,7 +3882,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st59", 9) == 0) - { - { --return dev_storage + 517; -+return dev_storage + 518; - - } - } -@@ -3878,7 +3897,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st49", 9) == 0) - { - { --return dev_storage + 507; -+return dev_storage + 508; - - } - } -@@ -3893,7 +3912,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st39", 9) == 0) - { - { --return dev_storage + 497; -+return dev_storage + 498; - - } - } -@@ -3908,7 +3927,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st29", 9) == 0) - { - { --return dev_storage + 487; -+return dev_storage + 488; - - } - } -@@ -3923,7 +3942,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st19", 9) == 0) - { - { --return dev_storage + 477; -+return dev_storage + 478; - - } - } -@@ -3947,7 +3966,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty8", 9) == 0) - { - { --return dev_storage + 305; -+return dev_storage + 306; - - } - } -@@ -3962,7 +3981,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst8", 9) == 0) - { - { --return dev_storage + 175; -+return dev_storage + 176; - - } - } -@@ -3992,7 +4011,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/scd8", 9) == 0) - { - { --return dev_storage + 434; -+return dev_storage + 435; - - } - } -@@ -4007,7 +4026,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st98", 9) == 0) - { - { --return dev_storage + 556; -+return dev_storage + 557; - - } - } -@@ -4022,7 +4041,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st88", 9) == 0) - { - { --return dev_storage + 546; -+return dev_storage + 547; - - } - } -@@ -4037,7 +4056,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st78", 9) == 0) - { - { --return dev_storage + 536; -+return dev_storage + 537; - - } - } -@@ -4052,7 +4071,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st68", 9) == 0) - { - { --return dev_storage + 526; -+return dev_storage + 527; - - } - } -@@ -4067,7 +4086,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st58", 9) == 0) - { - { --return dev_storage + 516; -+return dev_storage + 517; - - } - } -@@ -4082,7 +4101,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st48", 9) == 0) - { - { --return dev_storage + 506; -+return dev_storage + 507; - - } - } -@@ -4097,7 +4116,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st38", 9) == 0) - { - { --return dev_storage + 496; -+return dev_storage + 497; - - } - } -@@ -4112,7 +4131,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st28", 9) == 0) - { - { --return dev_storage + 486; -+return dev_storage + 487; - - } - } -@@ -4127,7 +4146,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st18", 9) == 0) - { - { --return dev_storage + 476; -+return dev_storage + 477; - - } - } -@@ -4151,7 +4170,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty7", 9) == 0) - { - { --return dev_storage + 304; -+return dev_storage + 305; - - } - } -@@ -4166,7 +4185,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst7", 9) == 0) - { - { --return dev_storage + 174; -+return dev_storage + 175; - - } - } -@@ -4196,7 +4215,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/scd7", 9) == 0) - { - { --return dev_storage + 433; -+return dev_storage + 434; - - } - } -@@ -4211,7 +4230,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st97", 9) == 0) - { - { --return dev_storage + 555; -+return dev_storage + 556; - - } - } -@@ -4226,7 +4245,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st87", 9) == 0) - { - { --return dev_storage + 545; -+return dev_storage + 546; - - } - } -@@ -4241,7 +4260,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st77", 9) == 0) - { - { --return dev_storage + 535; -+return dev_storage + 536; - - } - } -@@ -4256,7 +4275,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st67", 9) == 0) - { - { --return dev_storage + 525; -+return dev_storage + 526; - - } - } -@@ -4271,7 +4290,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st57", 9) == 0) - { - { --return dev_storage + 515; -+return dev_storage + 516; - - } - } -@@ -4286,7 +4305,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st47", 9) == 0) - { - { --return dev_storage + 505; -+return dev_storage + 506; - - } - } -@@ -4301,7 +4320,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st37", 9) == 0) - { - { --return dev_storage + 495; -+return dev_storage + 496; - - } - } -@@ -4316,7 +4335,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st27", 9) == 0) - { - { --return dev_storage + 485; -+return dev_storage + 486; - - } - } -@@ -4331,7 +4350,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st17", 9) == 0) - { - { --return dev_storage + 475; -+return dev_storage + 476; - - } - } -@@ -4355,7 +4374,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty6", 9) == 0) - { - { --return dev_storage + 303; -+return dev_storage + 304; - - } - } -@@ -4370,7 +4389,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst6", 9) == 0) - { - { --return dev_storage + 173; -+return dev_storage + 174; - - } - } -@@ -4400,7 +4419,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/scd6", 9) == 0) - { - { --return dev_storage + 432; -+return dev_storage + 433; - - } - } -@@ -4415,7 +4434,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st96", 9) == 0) - { - { --return dev_storage + 554; -+return dev_storage + 555; - - } - } -@@ -4430,7 +4449,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st86", 9) == 0) - { - { --return dev_storage + 544; -+return dev_storage + 545; - - } - } -@@ -4445,7 +4464,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st76", 9) == 0) - { - { --return dev_storage + 534; -+return dev_storage + 535; - - } - } -@@ -4460,7 +4479,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st66", 9) == 0) - { - { --return dev_storage + 524; -+return dev_storage + 525; - - } - } -@@ -4475,7 +4494,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st56", 9) == 0) - { - { --return dev_storage + 514; -+return dev_storage + 515; - - } - } -@@ -4490,7 +4509,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st46", 9) == 0) - { - { --return dev_storage + 504; -+return dev_storage + 505; - - } - } -@@ -4505,7 +4524,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st36", 9) == 0) - { - { --return dev_storage + 494; -+return dev_storage + 495; - - } - } -@@ -4520,7 +4539,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st26", 9) == 0) - { - { --return dev_storage + 484; -+return dev_storage + 485; - - } - } -@@ -4535,7 +4554,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st16", 9) == 0) - { - { --return dev_storage + 474; -+return dev_storage + 475; - - } - } -@@ -4559,7 +4578,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty5", 9) == 0) - { - { --return dev_storage + 302; -+return dev_storage + 303; - - } - } -@@ -4574,7 +4593,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst5", 9) == 0) - { - { --return dev_storage + 172; -+return dev_storage + 173; - - } - } -@@ -4604,7 +4623,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/scd5", 9) == 0) - { - { --return dev_storage + 431; -+return dev_storage + 432; - - } - } -@@ -4619,7 +4638,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st95", 9) == 0) - { - { --return dev_storage + 553; -+return dev_storage + 554; - - } - } -@@ -4634,7 +4653,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st85", 9) == 0) - { - { --return dev_storage + 543; -+return dev_storage + 544; - - } - } -@@ -4649,7 +4668,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st75", 9) == 0) - { - { --return dev_storage + 533; -+return dev_storage + 534; - - } - } -@@ -4664,7 +4683,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st65", 9) == 0) - { - { --return dev_storage + 523; -+return dev_storage + 524; - - } - } -@@ -4679,7 +4698,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st55", 9) == 0) - { - { --return dev_storage + 513; -+return dev_storage + 514; - - } - } -@@ -4694,7 +4713,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st45", 9) == 0) - { - { --return dev_storage + 503; -+return dev_storage + 504; - - } - } -@@ -4709,7 +4728,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st35", 9) == 0) - { - { --return dev_storage + 493; -+return dev_storage + 494; - - } - } -@@ -4724,7 +4743,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st25", 9) == 0) - { - { --return dev_storage + 483; -+return dev_storage + 484; - - } - } -@@ -4742,7 +4761,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st15", 9) == 0) - { - { --return dev_storage + 473; -+return dev_storage + 474; - - } - } -@@ -4757,7 +4776,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/sr15", 9) == 0) - { - { --return dev_storage + 457; -+return dev_storage + 458; - - } - } -@@ -4772,7 +4791,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/fd15", 9) == 0) - { - { --return dev_storage + 165; -+return dev_storage + 166; - - } - } -@@ -4802,7 +4821,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty4", 9) == 0) - { - { --return dev_storage + 301; -+return dev_storage + 302; - - } - } -@@ -4817,7 +4836,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst4", 9) == 0) - { - { --return dev_storage + 171; -+return dev_storage + 172; - - } - } -@@ -4847,7 +4866,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/scd4", 9) == 0) - { - { --return dev_storage + 430; -+return dev_storage + 431; - - } - } -@@ -4862,7 +4881,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st94", 9) == 0) - { - { --return dev_storage + 552; -+return dev_storage + 553; - - } - } -@@ -4877,7 +4896,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st84", 9) == 0) - { - { --return dev_storage + 542; -+return dev_storage + 543; - - } - } -@@ -4892,7 +4911,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st74", 9) == 0) - { - { --return dev_storage + 532; -+return dev_storage + 533; - - } - } -@@ -4907,7 +4926,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st64", 9) == 0) - { - { --return dev_storage + 522; -+return dev_storage + 523; - - } - } -@@ -4922,7 +4941,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st54", 9) == 0) - { - { --return dev_storage + 512; -+return dev_storage + 513; - - } - } -@@ -4937,7 +4956,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st44", 9) == 0) - { - { --return dev_storage + 502; -+return dev_storage + 503; - - } - } -@@ -4952,7 +4971,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st34", 9) == 0) - { - { --return dev_storage + 492; -+return dev_storage + 493; - - } - } -@@ -4967,7 +4986,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st24", 9) == 0) - { - { --return dev_storage + 482; -+return dev_storage + 483; - - } - } -@@ -4985,7 +5004,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st14", 9) == 0) - { - { --return dev_storage + 472; -+return dev_storage + 473; - - } - } -@@ -5000,7 +5019,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/sr14", 9) == 0) - { - { --return dev_storage + 456; -+return dev_storage + 457; - - } - } -@@ -5015,7 +5034,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/fd14", 9) == 0) - { - { --return dev_storage + 164; -+return dev_storage + 165; - - } - } -@@ -5045,7 +5064,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty3", 9) == 0) - { - { --return dev_storage + 300; -+return dev_storage + 301; - - } - } -@@ -5060,7 +5079,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst3", 9) == 0) - { - { --return dev_storage + 170; -+return dev_storage + 171; - - } - } -@@ -5090,7 +5109,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/scd3", 9) == 0) - { - { --return dev_storage + 429; -+return dev_storage + 430; - - } - } -@@ -5105,7 +5124,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st93", 9) == 0) - { - { --return dev_storage + 551; -+return dev_storage + 552; - - } - } -@@ -5120,7 +5139,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st83", 9) == 0) - { - { --return dev_storage + 541; -+return dev_storage + 542; - - } - } -@@ -5135,7 +5154,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st73", 9) == 0) - { - { --return dev_storage + 531; -+return dev_storage + 532; - - } - } -@@ -5150,7 +5169,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st63", 9) == 0) - { - { --return dev_storage + 521; -+return dev_storage + 522; - - } - } -@@ -5165,7 +5184,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st53", 9) == 0) - { - { --return dev_storage + 511; -+return dev_storage + 512; - - } - } -@@ -5180,7 +5199,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st43", 9) == 0) - { - { --return dev_storage + 501; -+return dev_storage + 502; - - } - } -@@ -5195,7 +5214,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st33", 9) == 0) - { - { --return dev_storage + 491; -+return dev_storage + 492; - - } - } -@@ -5210,7 +5229,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st23", 9) == 0) - { - { --return dev_storage + 481; -+return dev_storage + 482; - - } - } -@@ -5228,7 +5247,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st13", 9) == 0) - { - { --return dev_storage + 471; -+return dev_storage + 472; - - } - } -@@ -5243,7 +5262,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/sr13", 9) == 0) - { - { --return dev_storage + 455; -+return dev_storage + 456; - - } - } -@@ -5258,7 +5277,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/fd13", 9) == 0) - { - { --return dev_storage + 163; -+return dev_storage + 164; - - } - } -@@ -5288,7 +5307,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty2", 9) == 0) - { - { --return dev_storage + 299; -+return dev_storage + 300; - - } - } -@@ -5303,7 +5322,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst2", 9) == 0) - { - { --return dev_storage + 169; -+return dev_storage + 170; - - } - } -@@ -5333,7 +5352,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/scd2", 9) == 0) - { - { --return dev_storage + 428; -+return dev_storage + 429; - - } - } -@@ -5348,7 +5367,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st92", 9) == 0) - { - { --return dev_storage + 550; -+return dev_storage + 551; - - } - } -@@ -5363,7 +5382,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st82", 9) == 0) - { - { --return dev_storage + 540; -+return dev_storage + 541; - - } - } -@@ -5378,7 +5397,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st72", 9) == 0) - { - { --return dev_storage + 530; -+return dev_storage + 531; - - } - } -@@ -5393,7 +5412,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st62", 9) == 0) - { - { --return dev_storage + 520; -+return dev_storage + 521; - - } - } -@@ -5408,7 +5427,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st52", 9) == 0) - { - { --return dev_storage + 510; -+return dev_storage + 511; - - } - } -@@ -5423,7 +5442,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st42", 9) == 0) - { - { --return dev_storage + 500; -+return dev_storage + 501; - - } - } -@@ -5438,7 +5457,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st32", 9) == 0) - { - { --return dev_storage + 490; -+return dev_storage + 491; - - } - } -@@ -5453,7 +5472,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st22", 9) == 0) - { - { --return dev_storage + 480; -+return dev_storage + 481; - - } - } -@@ -5471,7 +5490,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st12", 9) == 0) - { - { --return dev_storage + 470; -+return dev_storage + 471; - - } - } -@@ -5486,7 +5505,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/sr12", 9) == 0) - { - { --return dev_storage + 454; -+return dev_storage + 455; - - } - } -@@ -5501,7 +5520,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/fd12", 9) == 0) - { - { --return dev_storage + 162; -+return dev_storage + 163; - - } - } -@@ -5531,7 +5550,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty1", 9) == 0) - { - { --return dev_storage + 298; -+return dev_storage + 299; - - } - } -@@ -5546,7 +5565,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst1", 9) == 0) - { - { --return dev_storage + 168; -+return dev_storage + 169; - - } - } -@@ -5576,7 +5595,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/scd1", 9) == 0) - { - { --return dev_storage + 427; -+return dev_storage + 428; - - } - } -@@ -5591,7 +5610,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st91", 9) == 0) - { - { --return dev_storage + 549; -+return dev_storage + 550; - - } - } -@@ -5606,7 +5625,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st81", 9) == 0) - { - { --return dev_storage + 539; -+return dev_storage + 540; - - } - } -@@ -5621,7 +5640,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st71", 9) == 0) - { - { --return dev_storage + 529; -+return dev_storage + 530; - - } - } -@@ -5636,7 +5655,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st61", 9) == 0) - { - { --return dev_storage + 519; -+return dev_storage + 520; - - } - } -@@ -5651,7 +5670,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st51", 9) == 0) - { - { --return dev_storage + 509; -+return dev_storage + 510; - - } - } -@@ -5666,7 +5685,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st41", 9) == 0) - { - { --return dev_storage + 499; -+return dev_storage + 500; - - } - } -@@ -5681,7 +5700,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st31", 9) == 0) - { - { --return dev_storage + 489; -+return dev_storage + 490; - - } - } -@@ -5696,7 +5715,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st21", 9) == 0) - { - { --return dev_storage + 479; -+return dev_storage + 480; - - } - } -@@ -5714,7 +5733,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st11", 9) == 0) - { - { --return dev_storage + 469; -+return dev_storage + 470; - - } - } -@@ -5729,7 +5748,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/sr11", 9) == 0) - { - { --return dev_storage + 453; -+return dev_storage + 454; - - } - } -@@ -5744,7 +5763,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/fd11", 9) == 0) - { - { --return dev_storage + 161; -+return dev_storage + 162; - - } - } -@@ -5774,7 +5793,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty0", 9) == 0) - { - { --return dev_storage + 297; -+return dev_storage + 298; - - } - } -@@ -5789,7 +5808,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst0", 9) == 0) - { - { --return dev_storage + 167; -+return dev_storage + 168; - - } - } -@@ -5804,7 +5823,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/scd0", 9) == 0) - { - { --return dev_storage + 426; -+return dev_storage + 427; - - } - } -@@ -5819,7 +5838,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st90", 9) == 0) - { - { --return dev_storage + 548; -+return dev_storage + 549; - - } - } -@@ -5834,7 +5853,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st80", 9) == 0) - { - { --return dev_storage + 538; -+return dev_storage + 539; - - } - } -@@ -5849,7 +5868,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st70", 9) == 0) - { - { --return dev_storage + 528; -+return dev_storage + 529; - - } - } -@@ -5864,7 +5883,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st60", 9) == 0) - { - { --return dev_storage + 518; -+return dev_storage + 519; - - } - } -@@ -5879,7 +5898,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st50", 9) == 0) - { - { --return dev_storage + 508; -+return dev_storage + 509; - - } - } -@@ -5894,7 +5913,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st40", 9) == 0) - { - { --return dev_storage + 498; -+return dev_storage + 499; - - } - } -@@ -5909,7 +5928,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st30", 9) == 0) - { - { --return dev_storage + 488; -+return dev_storage + 489; - - } - } -@@ -5924,7 +5943,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st20", 9) == 0) - { - { --return dev_storage + 478; -+return dev_storage + 479; - - } - } -@@ -5942,7 +5961,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st10", 9) == 0) - { - { --return dev_storage + 468; -+return dev_storage + 469; - - } - } -@@ -5957,7 +5976,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/sr10", 9) == 0) - { - { --return dev_storage + 452; -+return dev_storage + 453; - - } - } -@@ -5972,7 +5991,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/fd10", 9) == 0) - { - { --return dev_storage + 160; -+return dev_storage + 161; - - } - } -@@ -6164,15 +6183,39 @@ return NULL; - } - } - case 'i': -- if (strncmp (KR_keyword, "/dev/conin", 10) == 0) -+ switch (KR_keyword [5]) - { -+ case 's': -+ if (strncmp (KR_keyword, "/dev/stdin", 10) == 0) -+ { -+{ -+return dev_storage + 588; -+ -+} -+ } -+ else -+ { -+{ -+return NULL; -+ -+} -+ } -+ case 'c': -+ if (strncmp (KR_keyword, "/dev/conin", 10) == 0) -+ { - { - return dev_storage + 18; - - } -- } -- else -- { -+ } -+ else -+ { -+{ -+return NULL; -+ -+} -+ } -+ default: - { - return NULL; - -@@ -6185,7 +6228,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS9", 10) == 0) - { - { --return dev_storage + 596; -+return dev_storage + 600; - - } - } -@@ -6200,7 +6243,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS8", 10) == 0) - { - { --return dev_storage + 595; -+return dev_storage + 599; - - } - } -@@ -6215,7 +6258,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS7", 10) == 0) - { - { --return dev_storage + 594; -+return dev_storage + 598; - - } - } -@@ -6230,7 +6273,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS6", 10) == 0) - { - { --return dev_storage + 593; -+return dev_storage + 597; - - } - } -@@ -6245,7 +6288,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS5", 10) == 0) - { - { --return dev_storage + 592; -+return dev_storage + 596; - - } - } -@@ -6260,7 +6303,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS4", 10) == 0) - { - { --return dev_storage + 591; -+return dev_storage + 595; - - } - } -@@ -6275,7 +6318,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS3", 10) == 0) - { - { --return dev_storage + 590; -+return dev_storage + 594; - - } - } -@@ -6290,7 +6333,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS2", 10) == 0) - { - { --return dev_storage + 589; -+return dev_storage + 593; - - } - } -@@ -6305,7 +6348,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS1", 10) == 0) - { - { --return dev_storage + 588; -+return dev_storage + 592; - - } - } -@@ -6320,7 +6363,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS0", 10) == 0) - { - { --return dev_storage + 587; -+return dev_storage + 591; - - } - } -@@ -6347,7 +6390,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty99", 10) == 0) - { - { --return dev_storage + 396; -+return dev_storage + 397; - - } - } -@@ -6362,7 +6405,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty98", 10) == 0) - { - { --return dev_storage + 395; -+return dev_storage + 396; - - } - } -@@ -6377,7 +6420,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty97", 10) == 0) - { - { --return dev_storage + 394; -+return dev_storage + 395; - - } - } -@@ -6392,7 +6435,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty96", 10) == 0) - { - { --return dev_storage + 393; -+return dev_storage + 394; - - } - } -@@ -6407,7 +6450,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty95", 10) == 0) - { - { --return dev_storage + 392; -+return dev_storage + 393; - - } - } -@@ -6422,7 +6465,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty94", 10) == 0) - { - { --return dev_storage + 391; -+return dev_storage + 392; - - } - } -@@ -6437,7 +6480,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty93", 10) == 0) - { - { --return dev_storage + 390; -+return dev_storage + 391; - - } - } -@@ -6452,7 +6495,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty92", 10) == 0) - { - { --return dev_storage + 389; -+return dev_storage + 390; - - } - } -@@ -6467,7 +6510,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty91", 10) == 0) - { - { --return dev_storage + 388; -+return dev_storage + 389; - - } - } -@@ -6482,7 +6525,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty90", 10) == 0) - { - { --return dev_storage + 387; -+return dev_storage + 388; - - } - } -@@ -6506,7 +6549,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst99", 10) == 0) - { - { --return dev_storage + 266; -+return dev_storage + 267; - - } - } -@@ -6521,7 +6564,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst98", 10) == 0) - { - { --return dev_storage + 265; -+return dev_storage + 266; - - } - } -@@ -6536,7 +6579,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst97", 10) == 0) - { - { --return dev_storage + 264; -+return dev_storage + 265; - - } - } -@@ -6551,7 +6594,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst96", 10) == 0) - { - { --return dev_storage + 263; -+return dev_storage + 264; - - } - } -@@ -6566,7 +6609,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst95", 10) == 0) - { - { --return dev_storage + 262; -+return dev_storage + 263; - - } - } -@@ -6581,7 +6624,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst94", 10) == 0) - { - { --return dev_storage + 261; -+return dev_storage + 262; - - } - } -@@ -6596,7 +6639,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst93", 10) == 0) - { - { --return dev_storage + 260; -+return dev_storage + 261; - - } - } -@@ -6611,7 +6654,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst92", 10) == 0) - { - { --return dev_storage + 259; -+return dev_storage + 260; - - } - } -@@ -6626,7 +6669,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst91", 10) == 0) - { - { --return dev_storage + 258; -+return dev_storage + 259; - - } - } -@@ -6641,7 +6684,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst90", 10) == 0) - { - { --return dev_storage + 257; -+return dev_storage + 258; - - } - } -@@ -6674,7 +6717,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty89", 10) == 0) - { - { --return dev_storage + 386; -+return dev_storage + 387; - - } - } -@@ -6689,7 +6732,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty88", 10) == 0) - { - { --return dev_storage + 385; -+return dev_storage + 386; - - } - } -@@ -6704,7 +6747,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty87", 10) == 0) - { - { --return dev_storage + 384; -+return dev_storage + 385; - - } - } -@@ -6719,7 +6762,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty86", 10) == 0) - { - { --return dev_storage + 383; -+return dev_storage + 384; - - } - } -@@ -6734,7 +6777,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty85", 10) == 0) - { - { --return dev_storage + 382; -+return dev_storage + 383; - - } - } -@@ -6749,7 +6792,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty84", 10) == 0) - { - { --return dev_storage + 381; -+return dev_storage + 382; - - } - } -@@ -6764,7 +6807,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty83", 10) == 0) - { - { --return dev_storage + 380; -+return dev_storage + 381; - - } - } -@@ -6779,7 +6822,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty82", 10) == 0) - { - { --return dev_storage + 379; -+return dev_storage + 380; - - } - } -@@ -6794,7 +6837,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty81", 10) == 0) - { - { --return dev_storage + 378; -+return dev_storage + 379; - - } - } -@@ -6809,7 +6852,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty80", 10) == 0) - { - { --return dev_storage + 377; -+return dev_storage + 378; - - } - } -@@ -6833,7 +6876,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst89", 10) == 0) - { - { --return dev_storage + 256; -+return dev_storage + 257; - - } - } -@@ -6848,7 +6891,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst88", 10) == 0) - { - { --return dev_storage + 255; -+return dev_storage + 256; - - } - } -@@ -6863,7 +6906,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst87", 10) == 0) - { - { --return dev_storage + 254; -+return dev_storage + 255; - - } - } -@@ -6878,7 +6921,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst86", 10) == 0) - { - { --return dev_storage + 253; -+return dev_storage + 254; - - } - } -@@ -6893,7 +6936,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst85", 10) == 0) - { - { --return dev_storage + 252; -+return dev_storage + 253; - - } - } -@@ -6908,7 +6951,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst84", 10) == 0) - { - { --return dev_storage + 251; -+return dev_storage + 252; - - } - } -@@ -6923,7 +6966,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst83", 10) == 0) - { - { --return dev_storage + 250; -+return dev_storage + 251; - - } - } -@@ -6938,7 +6981,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst82", 10) == 0) - { - { --return dev_storage + 249; -+return dev_storage + 250; - - } - } -@@ -6953,7 +6996,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst81", 10) == 0) - { - { --return dev_storage + 248; -+return dev_storage + 249; - - } - } -@@ -6968,7 +7011,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst80", 10) == 0) - { - { --return dev_storage + 247; -+return dev_storage + 248; - - } - } -@@ -7001,7 +7044,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty79", 10) == 0) - { - { --return dev_storage + 376; -+return dev_storage + 377; - - } - } -@@ -7016,7 +7059,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty78", 10) == 0) - { - { --return dev_storage + 375; -+return dev_storage + 376; - - } - } -@@ -7031,7 +7074,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty77", 10) == 0) - { - { --return dev_storage + 374; -+return dev_storage + 375; - - } - } -@@ -7046,7 +7089,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty76", 10) == 0) - { - { --return dev_storage + 373; -+return dev_storage + 374; - - } - } -@@ -7061,7 +7104,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty75", 10) == 0) - { - { --return dev_storage + 372; -+return dev_storage + 373; - - } - } -@@ -7076,7 +7119,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty74", 10) == 0) - { - { --return dev_storage + 371; -+return dev_storage + 372; - - } - } -@@ -7091,7 +7134,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty73", 10) == 0) - { - { --return dev_storage + 370; -+return dev_storage + 371; - - } - } -@@ -7106,7 +7149,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty72", 10) == 0) - { - { --return dev_storage + 369; -+return dev_storage + 370; - - } - } -@@ -7121,7 +7164,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty71", 10) == 0) - { - { --return dev_storage + 368; -+return dev_storage + 369; - - } - } -@@ -7136,7 +7179,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty70", 10) == 0) - { - { --return dev_storage + 367; -+return dev_storage + 368; - - } - } -@@ -7160,7 +7203,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst79", 10) == 0) - { - { --return dev_storage + 246; -+return dev_storage + 247; - - } - } -@@ -7175,7 +7218,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst78", 10) == 0) - { - { --return dev_storage + 245; -+return dev_storage + 246; - - } - } -@@ -7190,7 +7233,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst77", 10) == 0) - { - { --return dev_storage + 244; -+return dev_storage + 245; - - } - } -@@ -7205,7 +7248,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst76", 10) == 0) - { - { --return dev_storage + 243; -+return dev_storage + 244; - - } - } -@@ -7220,7 +7263,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst75", 10) == 0) - { - { --return dev_storage + 242; -+return dev_storage + 243; - - } - } -@@ -7235,7 +7278,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst74", 10) == 0) - { - { --return dev_storage + 241; -+return dev_storage + 242; - - } - } -@@ -7250,7 +7293,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst73", 10) == 0) - { - { --return dev_storage + 240; -+return dev_storage + 241; - - } - } -@@ -7265,7 +7308,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst72", 10) == 0) - { - { --return dev_storage + 239; -+return dev_storage + 240; - - } - } -@@ -7280,7 +7323,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst71", 10) == 0) - { - { --return dev_storage + 238; -+return dev_storage + 239; - - } - } -@@ -7295,7 +7338,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst70", 10) == 0) - { - { --return dev_storage + 237; -+return dev_storage + 238; - - } - } -@@ -7328,7 +7371,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty69", 10) == 0) - { - { --return dev_storage + 366; -+return dev_storage + 367; - - } - } -@@ -7343,7 +7386,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty68", 10) == 0) - { - { --return dev_storage + 365; -+return dev_storage + 366; - - } - } -@@ -7358,7 +7401,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty67", 10) == 0) - { - { --return dev_storage + 364; -+return dev_storage + 365; - - } - } -@@ -7373,7 +7416,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty66", 10) == 0) - { - { --return dev_storage + 363; -+return dev_storage + 364; - - } - } -@@ -7388,7 +7431,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty65", 10) == 0) - { - { --return dev_storage + 362; -+return dev_storage + 363; - - } - } -@@ -7403,7 +7446,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty64", 10) == 0) - { - { --return dev_storage + 361; -+return dev_storage + 362; - - } - } -@@ -7418,7 +7461,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty63", 10) == 0) - { - { --return dev_storage + 360; -+return dev_storage + 361; - - } - } -@@ -7433,7 +7476,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty62", 10) == 0) - { - { --return dev_storage + 359; -+return dev_storage + 360; - - } - } -@@ -7448,7 +7491,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty61", 10) == 0) - { - { --return dev_storage + 358; -+return dev_storage + 359; - - } - } -@@ -7463,7 +7506,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty60", 10) == 0) - { - { --return dev_storage + 357; -+return dev_storage + 358; - - } - } -@@ -7487,7 +7530,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst69", 10) == 0) - { - { --return dev_storage + 236; -+return dev_storage + 237; - - } - } -@@ -7502,7 +7545,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst68", 10) == 0) - { - { --return dev_storage + 235; -+return dev_storage + 236; - - } - } -@@ -7517,7 +7560,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst67", 10) == 0) - { - { --return dev_storage + 234; -+return dev_storage + 235; - - } - } -@@ -7532,7 +7575,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst66", 10) == 0) - { - { --return dev_storage + 233; -+return dev_storage + 234; - - } - } -@@ -7547,7 +7590,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst65", 10) == 0) - { - { --return dev_storage + 232; -+return dev_storage + 233; - - } - } -@@ -7562,7 +7605,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst64", 10) == 0) - { - { --return dev_storage + 231; -+return dev_storage + 232; - - } - } -@@ -7577,7 +7620,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst63", 10) == 0) - { - { --return dev_storage + 230; -+return dev_storage + 231; - - } - } -@@ -7592,7 +7635,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst62", 10) == 0) - { - { --return dev_storage + 229; -+return dev_storage + 230; - - } - } -@@ -7607,7 +7650,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst61", 10) == 0) - { - { --return dev_storage + 228; -+return dev_storage + 229; - - } - } -@@ -7622,7 +7665,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst60", 10) == 0) - { - { --return dev_storage + 227; -+return dev_storage + 228; - - } - } -@@ -7655,7 +7698,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty59", 10) == 0) - { - { --return dev_storage + 356; -+return dev_storage + 357; - - } - } -@@ -7670,7 +7713,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty58", 10) == 0) - { - { --return dev_storage + 355; -+return dev_storage + 356; - - } - } -@@ -7685,7 +7728,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty57", 10) == 0) - { - { --return dev_storage + 354; -+return dev_storage + 355; - - } - } -@@ -7700,7 +7743,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty56", 10) == 0) - { - { --return dev_storage + 353; -+return dev_storage + 354; - - } - } -@@ -7715,7 +7758,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty55", 10) == 0) - { - { --return dev_storage + 352; -+return dev_storage + 353; - - } - } -@@ -7730,7 +7773,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty54", 10) == 0) - { - { --return dev_storage + 351; -+return dev_storage + 352; - - } - } -@@ -7745,7 +7788,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty53", 10) == 0) - { - { --return dev_storage + 350; -+return dev_storage + 351; - - } - } -@@ -7760,7 +7803,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty52", 10) == 0) - { - { --return dev_storage + 349; -+return dev_storage + 350; - - } - } -@@ -7775,7 +7818,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty51", 10) == 0) - { - { --return dev_storage + 348; -+return dev_storage + 349; - - } - } -@@ -7790,7 +7833,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty50", 10) == 0) - { - { --return dev_storage + 347; -+return dev_storage + 348; - - } - } -@@ -7814,7 +7857,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst59", 10) == 0) - { - { --return dev_storage + 226; -+return dev_storage + 227; - - } - } -@@ -7829,7 +7872,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst58", 10) == 0) - { - { --return dev_storage + 225; -+return dev_storage + 226; - - } - } -@@ -7844,7 +7887,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst57", 10) == 0) - { - { --return dev_storage + 224; -+return dev_storage + 225; - - } - } -@@ -7859,7 +7902,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst56", 10) == 0) - { - { --return dev_storage + 223; -+return dev_storage + 224; - - } - } -@@ -7874,7 +7917,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst55", 10) == 0) - { - { --return dev_storage + 222; -+return dev_storage + 223; - - } - } -@@ -7889,7 +7932,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst54", 10) == 0) - { - { --return dev_storage + 221; -+return dev_storage + 222; - - } - } -@@ -7904,7 +7947,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst53", 10) == 0) - { - { --return dev_storage + 220; -+return dev_storage + 221; - - } - } -@@ -7919,7 +7962,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst52", 10) == 0) - { - { --return dev_storage + 219; -+return dev_storage + 220; - - } - } -@@ -7934,7 +7977,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst51", 10) == 0) - { - { --return dev_storage + 218; -+return dev_storage + 219; - - } - } -@@ -7949,7 +7992,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst50", 10) == 0) - { - { --return dev_storage + 217; -+return dev_storage + 218; - - } - } -@@ -7982,7 +8025,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty49", 10) == 0) - { - { --return dev_storage + 346; -+return dev_storage + 347; - - } - } -@@ -7997,7 +8040,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty48", 10) == 0) - { - { --return dev_storage + 345; -+return dev_storage + 346; - - } - } -@@ -8012,7 +8055,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty47", 10) == 0) - { - { --return dev_storage + 344; -+return dev_storage + 345; - - } - } -@@ -8027,7 +8070,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty46", 10) == 0) - { - { --return dev_storage + 343; -+return dev_storage + 344; - - } - } -@@ -8042,7 +8085,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty45", 10) == 0) - { - { --return dev_storage + 342; -+return dev_storage + 343; - - } - } -@@ -8057,7 +8100,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty44", 10) == 0) - { - { --return dev_storage + 341; -+return dev_storage + 342; - - } - } -@@ -8072,7 +8115,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty43", 10) == 0) - { - { --return dev_storage + 340; -+return dev_storage + 341; - - } - } -@@ -8087,7 +8130,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty42", 10) == 0) - { - { --return dev_storage + 339; -+return dev_storage + 340; - - } - } -@@ -8102,7 +8145,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty41", 10) == 0) - { - { --return dev_storage + 338; -+return dev_storage + 339; - - } - } -@@ -8117,7 +8160,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty40", 10) == 0) - { - { --return dev_storage + 337; -+return dev_storage + 338; - - } - } -@@ -8141,7 +8184,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst49", 10) == 0) - { - { --return dev_storage + 216; -+return dev_storage + 217; - - } - } -@@ -8156,7 +8199,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst48", 10) == 0) - { - { --return dev_storage + 215; -+return dev_storage + 216; - - } - } -@@ -8171,7 +8214,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst47", 10) == 0) - { - { --return dev_storage + 214; -+return dev_storage + 215; - - } - } -@@ -8186,7 +8229,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst46", 10) == 0) - { - { --return dev_storage + 213; -+return dev_storage + 214; - - } - } -@@ -8201,7 +8244,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst45", 10) == 0) - { - { --return dev_storage + 212; -+return dev_storage + 213; - - } - } -@@ -8216,7 +8259,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst44", 10) == 0) - { - { --return dev_storage + 211; -+return dev_storage + 212; - - } - } -@@ -8231,7 +8274,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst43", 10) == 0) - { - { --return dev_storage + 210; -+return dev_storage + 211; - - } - } -@@ -8246,7 +8289,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst42", 10) == 0) - { - { --return dev_storage + 209; -+return dev_storage + 210; - - } - } -@@ -8261,7 +8304,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst41", 10) == 0) - { - { --return dev_storage + 208; -+return dev_storage + 209; - - } - } -@@ -8276,7 +8319,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst40", 10) == 0) - { - { --return dev_storage + 207; -+return dev_storage + 208; - - } - } -@@ -8309,7 +8352,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty39", 10) == 0) - { - { --return dev_storage + 336; -+return dev_storage + 337; - - } - } -@@ -8324,7 +8367,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty38", 10) == 0) - { - { --return dev_storage + 335; -+return dev_storage + 336; - - } - } -@@ -8339,7 +8382,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty37", 10) == 0) - { - { --return dev_storage + 334; -+return dev_storage + 335; - - } - } -@@ -8354,7 +8397,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty36", 10) == 0) - { - { --return dev_storage + 333; -+return dev_storage + 334; - - } - } -@@ -8369,7 +8412,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty35", 10) == 0) - { - { --return dev_storage + 332; -+return dev_storage + 333; - - } - } -@@ -8384,7 +8427,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty34", 10) == 0) - { - { --return dev_storage + 331; -+return dev_storage + 332; - - } - } -@@ -8399,7 +8442,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty33", 10) == 0) - { - { --return dev_storage + 330; -+return dev_storage + 331; - - } - } -@@ -8414,7 +8457,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty32", 10) == 0) - { - { --return dev_storage + 329; -+return dev_storage + 330; - - } - } -@@ -8429,7 +8472,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty31", 10) == 0) - { - { --return dev_storage + 328; -+return dev_storage + 329; - - } - } -@@ -8444,7 +8487,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty30", 10) == 0) - { - { --return dev_storage + 327; -+return dev_storage + 328; - - } - } -@@ -8468,7 +8511,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst39", 10) == 0) - { - { --return dev_storage + 206; -+return dev_storage + 207; - - } - } -@@ -8483,7 +8526,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst38", 10) == 0) - { - { --return dev_storage + 205; -+return dev_storage + 206; - - } - } -@@ -8498,7 +8541,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst37", 10) == 0) - { - { --return dev_storage + 204; -+return dev_storage + 205; - - } - } -@@ -8513,7 +8556,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst36", 10) == 0) - { - { --return dev_storage + 203; -+return dev_storage + 204; - - } - } -@@ -8528,7 +8571,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst35", 10) == 0) - { - { --return dev_storage + 202; -+return dev_storage + 203; - - } - } -@@ -8543,7 +8586,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst34", 10) == 0) - { - { --return dev_storage + 201; -+return dev_storage + 202; - - } - } -@@ -8558,7 +8601,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst33", 10) == 0) - { - { --return dev_storage + 200; -+return dev_storage + 201; - - } - } -@@ -8573,7 +8616,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst32", 10) == 0) - { - { --return dev_storage + 199; -+return dev_storage + 200; - - } - } -@@ -8588,7 +8631,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst31", 10) == 0) - { - { --return dev_storage + 198; -+return dev_storage + 199; - - } - } -@@ -8603,7 +8646,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst30", 10) == 0) - { - { --return dev_storage + 197; -+return dev_storage + 198; - - } - } -@@ -8636,7 +8679,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st127", 10) == 0) - { - { --return dev_storage + 585; -+return dev_storage + 586; - - } - } -@@ -8651,7 +8694,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st126", 10) == 0) - { - { --return dev_storage + 584; -+return dev_storage + 585; - - } - } -@@ -8666,7 +8709,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st125", 10) == 0) - { - { --return dev_storage + 583; -+return dev_storage + 584; - - } - } -@@ -8681,7 +8724,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st124", 10) == 0) - { - { --return dev_storage + 582; -+return dev_storage + 583; - - } - } -@@ -8696,7 +8739,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st123", 10) == 0) - { - { --return dev_storage + 581; -+return dev_storage + 582; - - } - } -@@ -8711,7 +8754,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st122", 10) == 0) - { - { --return dev_storage + 580; -+return dev_storage + 581; - - } - } -@@ -8726,7 +8769,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st121", 10) == 0) - { - { --return dev_storage + 579; -+return dev_storage + 580; - - } - } -@@ -8741,7 +8784,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st120", 10) == 0) - { - { --return dev_storage + 578; -+return dev_storage + 579; - - } - } -@@ -8765,7 +8808,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty29", 10) == 0) - { - { --return dev_storage + 326; -+return dev_storage + 327; - - } - } -@@ -8780,7 +8823,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty28", 10) == 0) - { - { --return dev_storage + 325; -+return dev_storage + 326; - - } - } -@@ -8795,7 +8838,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty27", 10) == 0) - { - { --return dev_storage + 324; -+return dev_storage + 325; - - } - } -@@ -8810,7 +8853,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty26", 10) == 0) - { - { --return dev_storage + 323; -+return dev_storage + 324; - - } - } -@@ -8825,7 +8868,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty25", 10) == 0) - { - { --return dev_storage + 322; -+return dev_storage + 323; - - } - } -@@ -8840,7 +8883,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty24", 10) == 0) - { - { --return dev_storage + 321; -+return dev_storage + 322; - - } - } -@@ -8855,7 +8898,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty23", 10) == 0) - { - { --return dev_storage + 320; -+return dev_storage + 321; - - } - } -@@ -8870,7 +8913,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty22", 10) == 0) - { - { --return dev_storage + 319; -+return dev_storage + 320; - - } - } -@@ -8885,7 +8928,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty21", 10) == 0) - { - { --return dev_storage + 318; -+return dev_storage + 319; - - } - } -@@ -8900,7 +8943,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty20", 10) == 0) - { - { --return dev_storage + 317; -+return dev_storage + 318; - - } - } -@@ -8924,7 +8967,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst29", 10) == 0) - { - { --return dev_storage + 196; -+return dev_storage + 197; - - } - } -@@ -8939,7 +8982,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst28", 10) == 0) - { - { --return dev_storage + 195; -+return dev_storage + 196; - - } - } -@@ -8954,7 +8997,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst27", 10) == 0) - { - { --return dev_storage + 194; -+return dev_storage + 195; - - } - } -@@ -8969,7 +9012,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst26", 10) == 0) - { - { --return dev_storage + 193; -+return dev_storage + 194; - - } - } -@@ -8984,7 +9027,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst25", 10) == 0) - { - { --return dev_storage + 192; -+return dev_storage + 193; - - } - } -@@ -8999,7 +9042,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst24", 10) == 0) - { - { --return dev_storage + 191; -+return dev_storage + 192; - - } - } -@@ -9014,7 +9057,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst23", 10) == 0) - { - { --return dev_storage + 190; -+return dev_storage + 191; - - } - } -@@ -9029,7 +9072,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst22", 10) == 0) - { - { --return dev_storage + 189; -+return dev_storage + 190; - - } - } -@@ -9044,7 +9087,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst21", 10) == 0) - { - { --return dev_storage + 188; -+return dev_storage + 189; - - } - } -@@ -9059,7 +9102,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst20", 10) == 0) - { - { --return dev_storage + 187; -+return dev_storage + 188; - - } - } -@@ -9092,7 +9135,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty19", 10) == 0) - { - { --return dev_storage + 316; -+return dev_storage + 317; - - } - } -@@ -9107,7 +9150,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty18", 10) == 0) - { - { --return dev_storage + 315; -+return dev_storage + 316; - - } - } -@@ -9122,7 +9165,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty17", 10) == 0) - { - { --return dev_storage + 314; -+return dev_storage + 315; - - } - } -@@ -9137,7 +9180,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty16", 10) == 0) - { - { --return dev_storage + 313; -+return dev_storage + 314; - - } - } -@@ -9152,7 +9195,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty15", 10) == 0) - { - { --return dev_storage + 312; -+return dev_storage + 313; - - } - } -@@ -9167,7 +9210,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty14", 10) == 0) - { - { --return dev_storage + 311; -+return dev_storage + 312; - - } - } -@@ -9182,7 +9225,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty13", 10) == 0) - { - { --return dev_storage + 310; -+return dev_storage + 311; - - } - } -@@ -9197,7 +9240,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty12", 10) == 0) - { - { --return dev_storage + 309; -+return dev_storage + 310; - - } - } -@@ -9212,7 +9255,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty11", 10) == 0) - { - { --return dev_storage + 308; -+return dev_storage + 309; - - } - } -@@ -9227,7 +9270,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty10", 10) == 0) - { - { --return dev_storage + 307; -+return dev_storage + 308; - - } - } -@@ -9251,7 +9294,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst19", 10) == 0) - { - { --return dev_storage + 186; -+return dev_storage + 187; - - } - } -@@ -9266,7 +9309,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst18", 10) == 0) - { - { --return dev_storage + 185; -+return dev_storage + 186; - - } - } -@@ -9281,7 +9324,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst17", 10) == 0) - { - { --return dev_storage + 184; -+return dev_storage + 185; - - } - } -@@ -9296,7 +9339,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst16", 10) == 0) - { - { --return dev_storage + 183; -+return dev_storage + 184; - - } - } -@@ -9311,7 +9354,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst15", 10) == 0) - { - { --return dev_storage + 182; -+return dev_storage + 183; - - } - } -@@ -9326,7 +9369,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst14", 10) == 0) - { - { --return dev_storage + 181; -+return dev_storage + 182; - - } - } -@@ -9341,7 +9384,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst13", 10) == 0) - { - { --return dev_storage + 180; -+return dev_storage + 181; - - } - } -@@ -9356,7 +9399,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst12", 10) == 0) - { - { --return dev_storage + 179; -+return dev_storage + 180; - - } - } -@@ -9371,7 +9414,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst11", 10) == 0) - { - { --return dev_storage + 178; -+return dev_storage + 179; - - } - } -@@ -9386,7 +9429,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst10", 10) == 0) - { - { --return dev_storage + 177; -+return dev_storage + 178; - - } - } -@@ -9524,7 +9567,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/scd15", 10) == 0) - { - { --return dev_storage + 441; -+return dev_storage + 442; - - } - } -@@ -9539,7 +9582,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/scd14", 10) == 0) - { - { --return dev_storage + 440; -+return dev_storage + 441; - - } - } -@@ -9554,7 +9597,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/scd13", 10) == 0) - { - { --return dev_storage + 439; -+return dev_storage + 440; - - } - } -@@ -9569,7 +9612,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/scd12", 10) == 0) - { - { --return dev_storage + 438; -+return dev_storage + 439; - - } - } -@@ -9584,7 +9627,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/scd11", 10) == 0) - { - { --return dev_storage + 437; -+return dev_storage + 438; - - } - } -@@ -9599,7 +9642,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/scd10", 10) == 0) - { - { --return dev_storage + 436; -+return dev_storage + 437; - - } - } -@@ -9623,7 +9666,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st119", 10) == 0) - { - { --return dev_storage + 577; -+return dev_storage + 578; - - } - } -@@ -9638,7 +9681,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st118", 10) == 0) - { - { --return dev_storage + 576; -+return dev_storage + 577; - - } - } -@@ -9653,7 +9696,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st117", 10) == 0) - { - { --return dev_storage + 575; -+return dev_storage + 576; - - } - } -@@ -9668,7 +9711,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st116", 10) == 0) - { - { --return dev_storage + 574; -+return dev_storage + 575; - - } - } -@@ -9683,7 +9726,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st115", 10) == 0) - { - { --return dev_storage + 573; -+return dev_storage + 574; - - } - } -@@ -9698,7 +9741,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st114", 10) == 0) - { - { --return dev_storage + 572; -+return dev_storage + 573; - - } - } -@@ -9713,7 +9756,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st113", 10) == 0) - { - { --return dev_storage + 571; -+return dev_storage + 572; - - } - } -@@ -9728,7 +9771,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st112", 10) == 0) - { - { --return dev_storage + 570; -+return dev_storage + 571; - - } - } -@@ -9743,7 +9786,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st111", 10) == 0) - { - { --return dev_storage + 569; -+return dev_storage + 570; - - } - } -@@ -9758,7 +9801,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st110", 10) == 0) - { - { --return dev_storage + 568; -+return dev_storage + 569; - - } - } -@@ -9788,7 +9831,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st109", 10) == 0) - { - { --return dev_storage + 567; -+return dev_storage + 568; - - } - } -@@ -9803,7 +9846,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st108", 10) == 0) - { - { --return dev_storage + 566; -+return dev_storage + 567; - - } - } -@@ -9818,7 +9861,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st107", 10) == 0) - { - { --return dev_storage + 565; -+return dev_storage + 566; - - } - } -@@ -9833,7 +9876,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st106", 10) == 0) - { - { --return dev_storage + 564; -+return dev_storage + 565; - - } - } -@@ -9848,7 +9891,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st105", 10) == 0) - { - { --return dev_storage + 563; -+return dev_storage + 564; - - } - } -@@ -9863,7 +9906,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st104", 10) == 0) - { - { --return dev_storage + 562; -+return dev_storage + 563; - - } - } -@@ -9878,7 +9921,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st103", 10) == 0) - { - { --return dev_storage + 561; -+return dev_storage + 562; - - } - } -@@ -9893,7 +9936,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st102", 10) == 0) - { - { --return dev_storage + 560; -+return dev_storage + 561; - - } - } -@@ -9908,7 +9951,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st101", 10) == 0) - { - { --return dev_storage + 559; -+return dev_storage + 560; - - } - } -@@ -9923,7 +9966,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/st100", 10) == 0) - { - { --return dev_storage + 558; -+return dev_storage + 559; - - } - } -@@ -9950,11 +9993,50 @@ return NULL; - switch (KR_keyword [9]) - { - case 'u': -- if (strncmp (KR_keyword, "/dev/conout", 11) == 0) -+ switch (KR_keyword [5]) - { -+ case 's': -+ if (strncmp (KR_keyword, "/dev/stdout", 11) == 0) -+ { -+{ -+return dev_storage + 589; -+ -+} -+ } -+ else -+ { -+{ -+return NULL; -+ -+} -+ } -+ case 'c': -+ if (strncmp (KR_keyword, "/dev/conout", 11) == 0) -+ { - { - return dev_storage + 19; - -+} -+ } -+ else -+ { -+{ -+return NULL; -+ -+} -+ } -+ default: -+{ -+return NULL; -+ -+} -+ } -+ case 'r': -+ if (strncmp (KR_keyword, "/dev/stderr", 11) == 0) -+ { -+{ -+return dev_storage + 587; -+ - } - } - else -@@ -9968,7 +10050,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/random", 11) == 0) - { - { --return dev_storage + 425; -+return dev_storage + 426; - - } - } -@@ -9989,7 +10071,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS99", 11) == 0) - { - { --return dev_storage + 686; -+return dev_storage + 690; - - } - } -@@ -10004,7 +10086,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS98", 11) == 0) - { - { --return dev_storage + 685; -+return dev_storage + 689; - - } - } -@@ -10019,7 +10101,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS97", 11) == 0) - { - { --return dev_storage + 684; -+return dev_storage + 688; - - } - } -@@ -10034,7 +10116,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS96", 11) == 0) - { - { --return dev_storage + 683; -+return dev_storage + 687; - - } - } -@@ -10049,7 +10131,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS95", 11) == 0) - { - { --return dev_storage + 682; -+return dev_storage + 686; - - } - } -@@ -10064,7 +10146,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS94", 11) == 0) - { - { --return dev_storage + 681; -+return dev_storage + 685; - - } - } -@@ -10079,7 +10161,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS93", 11) == 0) - { - { --return dev_storage + 680; -+return dev_storage + 684; - - } - } -@@ -10094,7 +10176,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS92", 11) == 0) - { - { --return dev_storage + 679; -+return dev_storage + 683; - - } - } -@@ -10109,7 +10191,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS91", 11) == 0) - { - { --return dev_storage + 678; -+return dev_storage + 682; - - } - } -@@ -10124,7 +10206,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS90", 11) == 0) - { - { --return dev_storage + 677; -+return dev_storage + 681; - - } - } -@@ -10316,7 +10398,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS89", 11) == 0) - { - { --return dev_storage + 676; -+return dev_storage + 680; - - } - } -@@ -10331,7 +10413,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS88", 11) == 0) - { - { --return dev_storage + 675; -+return dev_storage + 679; - - } - } -@@ -10346,7 +10428,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS87", 11) == 0) - { - { --return dev_storage + 674; -+return dev_storage + 678; - - } - } -@@ -10361,7 +10443,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS86", 11) == 0) - { - { --return dev_storage + 673; -+return dev_storage + 677; - - } - } -@@ -10376,7 +10458,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS85", 11) == 0) - { - { --return dev_storage + 672; -+return dev_storage + 676; - - } - } -@@ -10391,7 +10473,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS84", 11) == 0) - { - { --return dev_storage + 671; -+return dev_storage + 675; - - } - } -@@ -10406,7 +10488,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS83", 11) == 0) - { - { --return dev_storage + 670; -+return dev_storage + 674; - - } - } -@@ -10421,7 +10503,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS82", 11) == 0) - { - { --return dev_storage + 669; -+return dev_storage + 673; - - } - } -@@ -10436,7 +10518,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS81", 11) == 0) - { - { --return dev_storage + 668; -+return dev_storage + 672; - - } - } -@@ -10451,7 +10533,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS80", 11) == 0) - { - { --return dev_storage + 667; -+return dev_storage + 671; - - } - } -@@ -10643,7 +10725,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS79", 11) == 0) - { - { --return dev_storage + 666; -+return dev_storage + 670; - - } - } -@@ -10658,7 +10740,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS78", 11) == 0) - { - { --return dev_storage + 665; -+return dev_storage + 669; - - } - } -@@ -10673,7 +10755,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS77", 11) == 0) - { - { --return dev_storage + 664; -+return dev_storage + 668; - - } - } -@@ -10688,7 +10770,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS76", 11) == 0) - { - { --return dev_storage + 663; -+return dev_storage + 667; - - } - } -@@ -10703,7 +10785,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS75", 11) == 0) - { - { --return dev_storage + 662; -+return dev_storage + 666; - - } - } -@@ -10718,7 +10800,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS74", 11) == 0) - { - { --return dev_storage + 661; -+return dev_storage + 665; - - } - } -@@ -10733,7 +10815,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS73", 11) == 0) - { - { --return dev_storage + 660; -+return dev_storage + 664; - - } - } -@@ -10748,7 +10830,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS72", 11) == 0) - { - { --return dev_storage + 659; -+return dev_storage + 663; - - } - } -@@ -10763,7 +10845,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS71", 11) == 0) - { - { --return dev_storage + 658; -+return dev_storage + 662; - - } - } -@@ -10778,7 +10860,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS70", 11) == 0) - { - { --return dev_storage + 657; -+return dev_storage + 661; - - } - } -@@ -10970,7 +11052,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS69", 11) == 0) - { - { --return dev_storage + 656; -+return dev_storage + 660; - - } - } -@@ -10985,7 +11067,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS68", 11) == 0) - { - { --return dev_storage + 655; -+return dev_storage + 659; - - } - } -@@ -11000,7 +11082,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS67", 11) == 0) - { - { --return dev_storage + 654; -+return dev_storage + 658; - - } - } -@@ -11015,7 +11097,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS66", 11) == 0) - { - { --return dev_storage + 653; -+return dev_storage + 657; - - } - } -@@ -11030,7 +11112,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS65", 11) == 0) - { - { --return dev_storage + 652; -+return dev_storage + 656; - - } - } -@@ -11045,7 +11127,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS64", 11) == 0) - { - { --return dev_storage + 651; -+return dev_storage + 655; - - } - } -@@ -11060,7 +11142,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS63", 11) == 0) - { - { --return dev_storage + 650; -+return dev_storage + 654; - - } - } -@@ -11075,7 +11157,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS62", 11) == 0) - { - { --return dev_storage + 649; -+return dev_storage + 653; - - } - } -@@ -11090,7 +11172,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS61", 11) == 0) - { - { --return dev_storage + 648; -+return dev_storage + 652; - - } - } -@@ -11105,7 +11187,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS60", 11) == 0) - { - { --return dev_storage + 647; -+return dev_storage + 651; - - } - } -@@ -11297,7 +11379,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS59", 11) == 0) - { - { --return dev_storage + 646; -+return dev_storage + 650; - - } - } -@@ -11312,7 +11394,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS58", 11) == 0) - { - { --return dev_storage + 645; -+return dev_storage + 649; - - } - } -@@ -11327,7 +11409,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS57", 11) == 0) - { - { --return dev_storage + 644; -+return dev_storage + 648; - - } - } -@@ -11342,7 +11424,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS56", 11) == 0) - { - { --return dev_storage + 643; -+return dev_storage + 647; - - } - } -@@ -11357,7 +11439,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS55", 11) == 0) - { - { --return dev_storage + 642; -+return dev_storage + 646; - - } - } -@@ -11372,7 +11454,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS54", 11) == 0) - { - { --return dev_storage + 641; -+return dev_storage + 645; - - } - } -@@ -11387,7 +11469,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS53", 11) == 0) - { - { --return dev_storage + 640; -+return dev_storage + 644; - - } - } -@@ -11402,7 +11484,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS52", 11) == 0) - { - { --return dev_storage + 639; -+return dev_storage + 643; - - } - } -@@ -11417,7 +11499,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS51", 11) == 0) - { - { --return dev_storage + 638; -+return dev_storage + 642; - - } - } -@@ -11432,7 +11514,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS50", 11) == 0) - { - { --return dev_storage + 637; -+return dev_storage + 641; - - } - } -@@ -11624,7 +11706,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS49", 11) == 0) - { - { --return dev_storage + 636; -+return dev_storage + 640; - - } - } -@@ -11639,7 +11721,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS48", 11) == 0) - { - { --return dev_storage + 635; -+return dev_storage + 639; - - } - } -@@ -11654,7 +11736,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS47", 11) == 0) - { - { --return dev_storage + 634; -+return dev_storage + 638; - - } - } -@@ -11669,7 +11751,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS46", 11) == 0) - { - { --return dev_storage + 633; -+return dev_storage + 637; - - } - } -@@ -11684,7 +11766,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS45", 11) == 0) - { - { --return dev_storage + 632; -+return dev_storage + 636; - - } - } -@@ -11699,7 +11781,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS44", 11) == 0) - { - { --return dev_storage + 631; -+return dev_storage + 635; - - } - } -@@ -11714,7 +11796,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS43", 11) == 0) - { - { --return dev_storage + 630; -+return dev_storage + 634; - - } - } -@@ -11729,7 +11811,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS42", 11) == 0) - { - { --return dev_storage + 629; -+return dev_storage + 633; - - } - } -@@ -11744,7 +11826,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS41", 11) == 0) - { - { --return dev_storage + 628; -+return dev_storage + 632; - - } - } -@@ -11759,7 +11841,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS40", 11) == 0) - { - { --return dev_storage + 627; -+return dev_storage + 631; - - } - } -@@ -11951,7 +12033,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS39", 11) == 0) - { - { --return dev_storage + 626; -+return dev_storage + 630; - - } - } -@@ -11966,7 +12048,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS38", 11) == 0) - { - { --return dev_storage + 625; -+return dev_storage + 629; - - } - } -@@ -11981,7 +12063,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS37", 11) == 0) - { - { --return dev_storage + 624; -+return dev_storage + 628; - - } - } -@@ -11996,7 +12078,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS36", 11) == 0) - { - { --return dev_storage + 623; -+return dev_storage + 627; - - } - } -@@ -12011,7 +12093,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS35", 11) == 0) - { - { --return dev_storage + 622; -+return dev_storage + 626; - - } - } -@@ -12026,7 +12108,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS34", 11) == 0) - { - { --return dev_storage + 621; -+return dev_storage + 625; - - } - } -@@ -12041,7 +12123,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS33", 11) == 0) - { - { --return dev_storage + 620; -+return dev_storage + 624; - - } - } -@@ -12056,7 +12138,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS32", 11) == 0) - { - { --return dev_storage + 619; -+return dev_storage + 623; - - } - } -@@ -12071,7 +12153,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS31", 11) == 0) - { - { --return dev_storage + 618; -+return dev_storage + 622; - - } - } -@@ -12086,7 +12168,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS30", 11) == 0) - { - { --return dev_storage + 617; -+return dev_storage + 621; - - } - } -@@ -12278,7 +12360,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS29", 11) == 0) - { - { --return dev_storage + 616; -+return dev_storage + 620; - - } - } -@@ -12293,7 +12375,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS28", 11) == 0) - { - { --return dev_storage + 615; -+return dev_storage + 619; - - } - } -@@ -12308,7 +12390,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS27", 11) == 0) - { - { --return dev_storage + 614; -+return dev_storage + 618; - - } - } -@@ -12323,7 +12405,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS26", 11) == 0) - { - { --return dev_storage + 613; -+return dev_storage + 617; - - } - } -@@ -12338,7 +12420,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS25", 11) == 0) - { - { --return dev_storage + 612; -+return dev_storage + 616; - - } - } -@@ -12353,7 +12435,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS24", 11) == 0) - { - { --return dev_storage + 611; -+return dev_storage + 615; - - } - } -@@ -12368,7 +12450,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS23", 11) == 0) - { - { --return dev_storage + 610; -+return dev_storage + 614; - - } - } -@@ -12383,7 +12465,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS22", 11) == 0) - { - { --return dev_storage + 609; -+return dev_storage + 613; - - } - } -@@ -12398,7 +12480,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS21", 11) == 0) - { - { --return dev_storage + 608; -+return dev_storage + 612; - - } - } -@@ -12413,7 +12495,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS20", 11) == 0) - { - { --return dev_storage + 607; -+return dev_storage + 611; - - } - } -@@ -12437,7 +12519,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty127", 11) == 0) - { - { --return dev_storage + 424; -+return dev_storage + 425; - - } - } -@@ -12452,7 +12534,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty126", 11) == 0) - { - { --return dev_storage + 423; -+return dev_storage + 424; - - } - } -@@ -12467,7 +12549,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty125", 11) == 0) - { - { --return dev_storage + 422; -+return dev_storage + 423; - - } - } -@@ -12482,7 +12564,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty124", 11) == 0) - { - { --return dev_storage + 421; -+return dev_storage + 422; - - } - } -@@ -12497,7 +12579,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty123", 11) == 0) - { - { --return dev_storage + 420; -+return dev_storage + 421; - - } - } -@@ -12512,7 +12594,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty122", 11) == 0) - { - { --return dev_storage + 419; -+return dev_storage + 420; - - } - } -@@ -12527,7 +12609,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty121", 11) == 0) - { - { --return dev_storage + 418; -+return dev_storage + 419; - - } - } -@@ -12542,7 +12624,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty120", 11) == 0) - { - { --return dev_storage + 417; -+return dev_storage + 418; - - } - } -@@ -12566,7 +12648,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst127", 11) == 0) - { - { --return dev_storage + 294; -+return dev_storage + 295; - - } - } -@@ -12581,7 +12663,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst126", 11) == 0) - { - { --return dev_storage + 293; -+return dev_storage + 294; - - } - } -@@ -12596,7 +12678,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst125", 11) == 0) - { - { --return dev_storage + 292; -+return dev_storage + 293; - - } - } -@@ -12611,7 +12693,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst124", 11) == 0) - { - { --return dev_storage + 291; -+return dev_storage + 292; - - } - } -@@ -12626,7 +12708,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst123", 11) == 0) - { - { --return dev_storage + 290; -+return dev_storage + 291; - - } - } -@@ -12641,7 +12723,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst122", 11) == 0) - { - { --return dev_storage + 289; -+return dev_storage + 290; - - } - } -@@ -12656,7 +12738,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst121", 11) == 0) - { - { --return dev_storage + 288; -+return dev_storage + 289; - - } - } -@@ -12671,7 +12753,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst120", 11) == 0) - { - { --return dev_storage + 287; -+return dev_storage + 288; - - } - } -@@ -12863,7 +12945,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS19", 11) == 0) - { - { --return dev_storage + 606; -+return dev_storage + 610; - - } - } -@@ -12878,7 +12960,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS18", 11) == 0) - { - { --return dev_storage + 605; -+return dev_storage + 609; - - } - } -@@ -12893,7 +12975,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS17", 11) == 0) - { - { --return dev_storage + 604; -+return dev_storage + 608; - - } - } -@@ -12908,7 +12990,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS16", 11) == 0) - { - { --return dev_storage + 603; -+return dev_storage + 607; - - } - } -@@ -12923,7 +13005,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS15", 11) == 0) - { - { --return dev_storage + 602; -+return dev_storage + 606; - - } - } -@@ -12938,7 +13020,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS14", 11) == 0) - { - { --return dev_storage + 601; -+return dev_storage + 605; - - } - } -@@ -12953,7 +13035,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS13", 11) == 0) - { - { --return dev_storage + 600; -+return dev_storage + 604; - - } - } -@@ -12968,7 +13050,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS12", 11) == 0) - { - { --return dev_storage + 599; -+return dev_storage + 603; - - } - } -@@ -12983,7 +13065,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS11", 11) == 0) - { - { --return dev_storage + 598; -+return dev_storage + 602; - - } - } -@@ -12998,7 +13080,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS10", 11) == 0) - { - { --return dev_storage + 597; -+return dev_storage + 601; - - } - } -@@ -13022,7 +13104,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty119", 11) == 0) - { - { --return dev_storage + 416; -+return dev_storage + 417; - - } - } -@@ -13037,7 +13119,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty118", 11) == 0) - { - { --return dev_storage + 415; -+return dev_storage + 416; - - } - } -@@ -13052,7 +13134,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty117", 11) == 0) - { - { --return dev_storage + 414; -+return dev_storage + 415; - - } - } -@@ -13067,7 +13149,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty116", 11) == 0) - { - { --return dev_storage + 413; -+return dev_storage + 414; - - } - } -@@ -13082,7 +13164,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty115", 11) == 0) - { - { --return dev_storage + 412; -+return dev_storage + 413; - - } - } -@@ -13097,7 +13179,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty114", 11) == 0) - { - { --return dev_storage + 411; -+return dev_storage + 412; - - } - } -@@ -13112,7 +13194,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty113", 11) == 0) - { - { --return dev_storage + 410; -+return dev_storage + 411; - - } - } -@@ -13127,7 +13209,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty112", 11) == 0) - { - { --return dev_storage + 409; -+return dev_storage + 410; - - } - } -@@ -13142,7 +13224,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty111", 11) == 0) - { - { --return dev_storage + 408; -+return dev_storage + 409; - - } - } -@@ -13157,7 +13239,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty110", 11) == 0) - { - { --return dev_storage + 407; -+return dev_storage + 408; - - } - } -@@ -13181,7 +13263,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst119", 11) == 0) - { - { --return dev_storage + 286; -+return dev_storage + 287; - - } - } -@@ -13196,7 +13278,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst118", 11) == 0) - { - { --return dev_storage + 285; -+return dev_storage + 286; - - } - } -@@ -13211,7 +13293,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst117", 11) == 0) - { - { --return dev_storage + 284; -+return dev_storage + 285; - - } - } -@@ -13226,7 +13308,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst116", 11) == 0) - { - { --return dev_storage + 283; -+return dev_storage + 284; - - } - } -@@ -13241,7 +13323,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst115", 11) == 0) - { - { --return dev_storage + 282; -+return dev_storage + 283; - - } - } -@@ -13256,7 +13338,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst114", 11) == 0) - { - { --return dev_storage + 281; -+return dev_storage + 282; - - } - } -@@ -13271,7 +13353,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst113", 11) == 0) - { - { --return dev_storage + 280; -+return dev_storage + 281; - - } - } -@@ -13286,7 +13368,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst112", 11) == 0) - { - { --return dev_storage + 279; -+return dev_storage + 280; - - } - } -@@ -13301,7 +13383,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst111", 11) == 0) - { - { --return dev_storage + 278; -+return dev_storage + 279; - - } - } -@@ -13316,7 +13398,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst110", 11) == 0) - { - { --return dev_storage + 277; -+return dev_storage + 278; - - } - } -@@ -13508,7 +13590,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty109", 11) == 0) - { - { --return dev_storage + 406; -+return dev_storage + 407; - - } - } -@@ -13523,7 +13605,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty108", 11) == 0) - { - { --return dev_storage + 405; -+return dev_storage + 406; - - } - } -@@ -13538,7 +13620,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty107", 11) == 0) - { - { --return dev_storage + 404; -+return dev_storage + 405; - - } - } -@@ -13553,7 +13635,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty106", 11) == 0) - { - { --return dev_storage + 403; -+return dev_storage + 404; - - } - } -@@ -13568,7 +13650,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty105", 11) == 0) - { - { --return dev_storage + 402; -+return dev_storage + 403; - - } - } -@@ -13583,7 +13665,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty104", 11) == 0) - { - { --return dev_storage + 401; -+return dev_storage + 402; - - } - } -@@ -13598,7 +13680,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty103", 11) == 0) - { - { --return dev_storage + 400; -+return dev_storage + 401; - - } - } -@@ -13613,7 +13695,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty102", 11) == 0) - { - { --return dev_storage + 399; -+return dev_storage + 400; - - } - } -@@ -13628,7 +13710,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty101", 11) == 0) - { - { --return dev_storage + 398; -+return dev_storage + 399; - - } - } -@@ -13643,7 +13725,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/pty100", 11) == 0) - { - { --return dev_storage + 397; -+return dev_storage + 398; - - } - } -@@ -13667,7 +13749,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst109", 11) == 0) - { - { --return dev_storage + 276; -+return dev_storage + 277; - - } - } -@@ -13682,7 +13764,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst108", 11) == 0) - { - { --return dev_storage + 275; -+return dev_storage + 276; - - } - } -@@ -13697,7 +13779,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst107", 11) == 0) - { - { --return dev_storage + 274; -+return dev_storage + 275; - - } - } -@@ -13712,7 +13794,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst106", 11) == 0) - { - { --return dev_storage + 273; -+return dev_storage + 274; - - } - } -@@ -13727,7 +13809,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst105", 11) == 0) - { - { --return dev_storage + 272; -+return dev_storage + 273; - - } - } -@@ -13742,7 +13824,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst104", 11) == 0) - { - { --return dev_storage + 271; -+return dev_storage + 272; - - } - } -@@ -13757,7 +13839,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst103", 11) == 0) - { - { --return dev_storage + 270; -+return dev_storage + 271; - - } - } -@@ -13772,7 +13854,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst102", 11) == 0) - { - { --return dev_storage + 269; -+return dev_storage + 270; - - } - } -@@ -13787,7 +13869,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst101", 11) == 0) - { - { --return dev_storage + 268; -+return dev_storage + 269; - - } - } -@@ -13802,7 +13884,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/nst100", 11) == 0) - { - { --return dev_storage + 267; -+return dev_storage + 268; - - } - } -@@ -13838,7 +13920,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/windows", 12) == 0) - { - { --return dev_storage + 716; -+return dev_storage + 720; - - } - } -@@ -13853,7 +13935,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/urandom", 12) == 0) - { - { --return dev_storage + 715; -+return dev_storage + 719; - - } - } -@@ -13889,7 +13971,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS127", 12) == 0) - { - { --return dev_storage + 714; -+return dev_storage + 718; - - } - } -@@ -13904,7 +13986,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS126", 12) == 0) - { - { --return dev_storage + 713; -+return dev_storage + 717; - - } - } -@@ -13919,7 +14001,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS125", 12) == 0) - { - { --return dev_storage + 712; -+return dev_storage + 716; - - } - } -@@ -13934,7 +14016,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS124", 12) == 0) - { - { --return dev_storage + 711; -+return dev_storage + 715; - - } - } -@@ -13949,7 +14031,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS123", 12) == 0) - { - { --return dev_storage + 710; -+return dev_storage + 714; - - } - } -@@ -13964,7 +14046,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS122", 12) == 0) - { - { --return dev_storage + 709; -+return dev_storage + 713; - - } - } -@@ -13979,7 +14061,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS121", 12) == 0) - { - { --return dev_storage + 708; -+return dev_storage + 712; - - } - } -@@ -13994,7 +14076,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS120", 12) == 0) - { - { --return dev_storage + 707; -+return dev_storage + 711; - - } - } -@@ -14156,7 +14238,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS119", 12) == 0) - { - { --return dev_storage + 706; -+return dev_storage + 710; - - } - } -@@ -14171,7 +14253,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS118", 12) == 0) - { - { --return dev_storage + 705; -+return dev_storage + 709; - - } - } -@@ -14186,7 +14268,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS117", 12) == 0) - { - { --return dev_storage + 704; -+return dev_storage + 708; - - } - } -@@ -14201,7 +14283,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS116", 12) == 0) - { - { --return dev_storage + 703; -+return dev_storage + 707; - - } - } -@@ -14216,7 +14298,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS115", 12) == 0) - { - { --return dev_storage + 702; -+return dev_storage + 706; - - } - } -@@ -14231,7 +14313,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS114", 12) == 0) - { - { --return dev_storage + 701; -+return dev_storage + 705; - - } - } -@@ -14246,7 +14328,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS113", 12) == 0) - { - { --return dev_storage + 700; -+return dev_storage + 704; - - } - } -@@ -14261,7 +14343,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS112", 12) == 0) - { - { --return dev_storage + 699; -+return dev_storage + 703; - - } - } -@@ -14276,7 +14358,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS111", 12) == 0) - { - { --return dev_storage + 698; -+return dev_storage + 702; - - } - } -@@ -14291,7 +14373,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS110", 12) == 0) - { - { --return dev_storage + 697; -+return dev_storage + 701; - - } - } -@@ -14483,7 +14565,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS109", 12) == 0) - { - { --return dev_storage + 696; -+return dev_storage + 700; - - } - } -@@ -14498,7 +14580,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS108", 12) == 0) - { - { --return dev_storage + 695; -+return dev_storage + 699; - - } - } -@@ -14513,7 +14595,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS107", 12) == 0) - { - { --return dev_storage + 694; -+return dev_storage + 698; - - } - } -@@ -14528,7 +14610,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS106", 12) == 0) - { - { --return dev_storage + 693; -+return dev_storage + 697; - - } - } -@@ -14543,7 +14625,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS105", 12) == 0) - { - { --return dev_storage + 692; -+return dev_storage + 696; - - } - } -@@ -14558,7 +14640,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS104", 12) == 0) - { - { --return dev_storage + 691; -+return dev_storage + 695; - - } - } -@@ -14573,7 +14655,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS103", 12) == 0) - { - { --return dev_storage + 690; -+return dev_storage + 694; - - } - } -@@ -14588,7 +14670,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS102", 12) == 0) - { - { --return dev_storage + 689; -+return dev_storage + 693; - - } - } -@@ -14603,7 +14685,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS101", 12) == 0) - { - { --return dev_storage + 688; -+return dev_storage + 692; - - } - } -@@ -14618,7 +14700,7 @@ return NULL; - if (strncmp (KR_keyword, "/dev/ttyS100", 12) == 0) - { - { --return dev_storage + 687; -+return dev_storage + 691; - - } - } -diff --git a/winsup/cygwin/devices.h b/winsup/cygwin/devices.h -index 4310f43..fbbde6a 100644 ---- a/winsup/cygwin/devices.h -+++ b/winsup/cygwin/devices.h -@@ -70,6 +70,7 @@ enum fh_devices - FH_NETDRIVE= FHDEV (DEV_VIRTFS_MAJOR, 194), - FH_DEV = FHDEV (DEV_VIRTFS_MAJOR, 193), - FH_CYGDRIVE= FHDEV (DEV_VIRTFS_MAJOR, 192), -+ FH_DEV_FD = FHDEV (DEV_VIRTFS_MAJOR, 191), - - FH_SIGNALFD= FHDEV (DEV_VIRTFS_MAJOR, 13), - FH_TIMERFD = FHDEV (DEV_VIRTFS_MAJOR, 14), -@@ -436,7 +437,7 @@ extern const _device dev_fs_storage; - #define isprocsys_dev(devn) (devn == FH_PROCSYS) - - #define isvirtual_dev(devn) \ -- (isproc_dev (devn) || devn == FH_CYGDRIVE || devn == FH_NETDRIVE) -+ (isproc_dev (devn) || devn == FH_CYGDRIVE || devn == FH_NETDRIVE || devn == FH_DEV_FD) - - #define iscons_dev(n) \ - ((device::major ((dev_t) (n)) == DEV_CONS_MAJOR) \ -diff --git a/winsup/cygwin/devices.in b/winsup/cygwin/devices.in -index f33510e..7506dfe 100644 ---- a/winsup/cygwin/devices.in -+++ b/winsup/cygwin/devices.in -@@ -175,6 +175,10 @@ const _device dev_error_storage = - "/dev/fd%(0-15)d", BRACK(FHDEV(DEV_FLOPPY_MAJOR, {$1})), "\\Device\\Floppy{$1}", exists_ntdev, S_IFBLK - "/dev/scd%(0-15)d", BRACK(FHDEV(DEV_CDROM_MAJOR, {$1})), "\\Device\\CdRom{$1}", exists_ntdev, S_IFBLK - "/dev/sr%(0-15)d", BRACK(FHDEV(DEV_CDROM_MAJOR, {$1})), "\\Device\\CdRom{$1}", exists_ntdev, S_IFBLK -+"/dev/fd", BRACK(FH_DEV_FD), "/proc/self/fd", exists, S_IFLNK -+"/dev/stdin", BRACK(FH_DEV_FD), "/proc/self/fd/0", exists, S_IFLNK -+"/dev/stdout", BRACK(FH_DEV_FD), "/proc/self/fd/1", exists, S_IFLNK -+"/dev/stderr", BRACK(FH_DEV_FD), "/proc/self/fd/2", exists, S_IFLNK - %other {return NULL;} - %% - #undef BRACK -diff --git a/winsup/cygwin/dtable.cc b/winsup/cygwin/dtable.cc -index bad7bd1..7646fa4 100644 ---- a/winsup/cygwin/dtable.cc -+++ b/winsup/cygwin/dtable.cc -@@ -579,6 +579,9 @@ fh_alloc (path_conv& pc) - case FH_DEV: - fh = cnew (fhandler_dev); - break; -+ case FH_DEV_FD: -+ fh = cnew (fhandler_dev_fd); -+ break; - case FH_CYGDRIVE: - fh = cnew (fhandler_cygdrive); - break; -diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h -index da0e318..7837aa9 100644 ---- a/winsup/cygwin/fhandler.h -+++ b/winsup/cygwin/fhandler.h -@@ -3077,6 +3077,33 @@ class fhandler_procnet: public fhandler_proc - } - }; - -+class fhandler_dev_fd: public fhandler_virtual -+{ -+ public: -+ fhandler_dev_fd (); -+ virtual_ftype_t exists(); -+ -+ int __reg2 fstat (struct stat *buf); -+ bool fill_filebuf (); -+ -+ fhandler_dev_fd (void *) {} -+ -+ virtual void copy_from (fhandler_base *x) -+ { -+ pc.free_strings (); -+ *this = *reinterpret_cast (x); -+ _copy_from_reset_helper (); -+ } -+ -+ virtual fhandler_dev_fd *clone (cygheap_types malloc_type = HEAP_FHANDLER) -+ { -+ void *ptr = (void *) ccalloc (malloc_type, 1, sizeof (fhandler_dev_fd)); -+ fhandler_dev_fd *fh = new (ptr) fhandler_dev_fd (ptr); -+ fh->copy_from (this); -+ return fh; -+ } -+}; -+ - class fhandler_signalfd : public fhandler_base - { - sigset_t sigset; -@@ -3276,6 +3303,7 @@ typedef union - char __dev_raw[sizeof (fhandler_dev_raw)]; - char __dev_tape[sizeof (fhandler_dev_tape)]; - char __dev_zero[sizeof (fhandler_dev_zero)]; -+ char __dev_fd[sizeof (fhandler_dev_fd)]; - char __disk_file[sizeof (fhandler_disk_file)]; - char __fifo[sizeof (fhandler_fifo)]; - char __netdrive[sizeof (fhandler_netdrive)]; -diff --git a/winsup/cygwin/fhandler_dev_fd.cc b/winsup/cygwin/fhandler_dev_fd.cc -new file mode 100644 -index 0000000..6462838 ---- /dev/null -+++ b/winsup/cygwin/fhandler_dev_fd.cc -@@ -0,0 +1,53 @@ -+/* fhandler_process_fd.cc: fhandler for the /dev/{fd,std{in,out,err}} symlinks -+ -+This file is part of Cygwin. -+ -+This software is a copyrighted work licensed under the terms of the -+Cygwin license. Please consult the file "CYGWIN_LICENSE" for -+details. */ -+ -+#include "winsup.h" -+#include "path.h" -+#include "fhandler.h" -+ -+fhandler_dev_fd::fhandler_dev_fd (): -+ fhandler_virtual () -+{ -+} -+ -+virtual_ftype_t -+fhandler_dev_fd::exists () -+{ -+ return virt_symlink; -+} -+ -+int __reg2 -+fhandler_dev_fd::fstat (struct stat *buf) -+{ -+ const char *path = get_name (); -+ debug_printf ("fstat (%s)", path); -+ -+ fhandler_base::fstat (buf); -+ -+ buf->st_mode = S_IFLNK | STD_RBITS | S_IWUSR | S_IWGRP | S_IWOTH | STD_XBITS; -+ buf->st_ino = get_ino (); -+ -+ return 0; -+} -+ -+bool -+fhandler_dev_fd::fill_filebuf () -+{ -+ const char *path = get_name (); -+ debug_printf ("fill_filebuf (%s)", path); -+ -+ const char *native = get_native_name (); -+ if (!native) -+ { -+ return false; -+ } -+ -+ free(filebuf); -+ filebuf = cstrdup (native); -+ return true; -+} diff --git a/msys2-runtime/0034-build_env-respect-the-MSYS-environment-variable.patch b/msys2-runtime/0034-build_env-respect-the-MSYS-environment-variable.patch new file mode 100644 index 00000000000..2c18028a602 --- /dev/null +++ b/msys2-runtime/0034-build_env-respect-the-MSYS-environment-variable.patch @@ -0,0 +1,34 @@ +From f433fc866a78e1ba5c4653700848146b9963813e Mon Sep 17 00:00:00 2001 +From: Johannes Schindelin +Date: Tue, 6 Sep 2022 12:18:18 +0200 +Subject: [PATCH 34/N] build_env(): respect the `MSYS` environment variable + +With this commit, you can call + + MSYS=noemptyenvvalues my-command + +and it does what is expected: to pass no empty-valued environment +variables to `my-command`. + +Signed-off-by: Johannes Schindelin +--- + winsup/cygwin/environ.cc | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc +index a1abbb5..0899aa0 100644 +--- a/winsup/cygwin/environ.cc ++++ b/winsup/cygwin/environ.cc +@@ -1203,7 +1203,11 @@ build_env (const char * const *envp, PWCHAR &envblock, int &envc, + { + bool calc_tl = !no_envblock; + #ifdef __MSYS__ +- if (!keep_posix) ++ if (ascii_strncasematch(*srcp, "MSYS=", 5)) ++ { ++ parse_options (*srcp + 5); ++ } ++ else if (!keep_posix) + { + /* Don't pass timezone environment to non-msys applications */ + if (ascii_strncasematch(*srcp, "TZ=", 3)) diff --git a/msys2-runtime/0035-Fix-incorrect-path-conversion-trailing-slash.patch b/msys2-runtime/0035-Fix-incorrect-path-conversion-trailing-slash.patch deleted file mode 100644 index ea41e5d79b8..00000000000 --- a/msys2-runtime/0035-Fix-incorrect-path-conversion-trailing-slash.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 589fac65ff8f2a2c4d1f259dff87ec0c2aef0fcd Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Wed, 14 Mar 2018 17:04:19 +0100 -Subject: [PATCH 35/N] Fix incorrect path conversion (trailing slash) - -The problem with the original approach is not that it is completely -bogus. After all, when you pass the option --prefix=/tmp/ to Git, you do -want to end up with a trailing slash. - -The real problem with the original approach is that it simply changed -path_conv, completely oblivious and careless about other users of -path_conv. - -That was really wrong, of course, and cost us time, sweat and tears. The -appropriate approach is to *not* affect other users, but instead -introduce a flag that we use in *our* caller, so that everybody gets -what they want: - -- emulation of inodes on FAT by calculating the hash on the normalized - path: works. - -- MSYS2's conversion of "POSIX" paths to Windows paths: works. - -Signed-off-by: Johannes Schindelin ---- - winsup/cygwin/msys2_path_conv.cc | 2 +- - winsup/cygwin/path.cc | 16 +++++++++++++++- - winsup/cygwin/path.h | 1 + - 3 files changed, 17 insertions(+), 2 deletions(-) - -diff --git a/winsup/cygwin/msys2_path_conv.cc b/winsup/cygwin/msys2_path_conv.cc -index 2d401ca..cba028e 100644 ---- a/winsup/cygwin/msys2_path_conv.cc -+++ b/winsup/cygwin/msys2_path_conv.cc -@@ -622,7 +622,7 @@ void posix_to_win32_path(const char* from, const char* to, char** dst, const cha - strncpy(one_path, from, to-from); - one_path[to-from] = '\0'; - -- path_conv conv (one_path, 0); -+ path_conv conv (one_path, PC_KEEP_FINAL_SLASH); - if (conv.error) - { - set_errno(conv.error); -diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc -index 9a3ad7a..2b0110b 100644 ---- a/winsup/cygwin/path.cc -+++ b/winsup/cygwin/path.cc -@@ -1254,9 +1254,22 @@ path_conv::check (const char *src, unsigned opt, - cfree (wide_path); - wide_path = NULL; - } -+ -+ if (need_directory) -+ { -+ size_t n = strlen (this->path); -+ /* Do not add trailing \ to UNC device names like \\.\a: */ -+ if (this->path[n - 1] != '\\' && -+ (strncmp (this->path, "\\\\.\\", 4) != 0)) -+ { -+ this->modifiable_path ()[n] = '\\'; -+ this->modifiable_path ()[n + 1] = '\0'; -+ } -+ need_directory = 0; -+ } - } - -- if (need_directory) -+ if ((opt & PC_KEEP_FINAL_SLASH) && need_directory) - { - size_t n = strlen (this->path); - /* Do not add trailing \ to UNC device names like \\.\a: */ -@@ -1266,6 +1279,7 @@ path_conv::check (const char *src, unsigned opt, - this->modifiable_path ()[n] = '\\'; - this->modifiable_path ()[n + 1] = '\0'; - } -+ need_directory = 0; - } - - if (opt & PC_OPEN) -diff --git a/winsup/cygwin/path.h b/winsup/cygwin/path.h -index adb0ca1..208147f 100644 ---- a/winsup/cygwin/path.h -+++ b/winsup/cygwin/path.h -@@ -59,6 +59,7 @@ enum pathconv_arg - PC_KEEP_HANDLE = _BIT (12), /* keep handle for later stat calls */ - PC_NO_ACCESS_CHECK = _BIT (13), /* helper flag for error check */ - PC_SYM_NOFOLLOW_DIR = _BIT (14), /* don't follow a trailing slash */ -+ PC_KEEP_FINAL_SLASH = _BIT (15), /* do not remove a trailing slash */ - PC_DONT_USE = _BIT (31) /* conversion to signed happens. */ - }; - diff --git a/msys2-runtime/0035-When-converting-to-a-Unix-path-avoid-double-trailing.patch b/msys2-runtime/0035-When-converting-to-a-Unix-path-avoid-double-trailing.patch new file mode 100644 index 00000000000..29e6131897b --- /dev/null +++ b/msys2-runtime/0035-When-converting-to-a-Unix-path-avoid-double-trailing.patch @@ -0,0 +1,33 @@ +From 005bccdbc3fded51eff81c80b930c8d5eb9f2bb3 Mon Sep 17 00:00:00 2001 +From: Johannes Schindelin +Date: Tue, 8 Nov 2022 16:24:20 +0100 +Subject: [PATCH 35/N] When converting to a Unix path, avoid double trailing + slashes + +When calling `cygpath -u C:/msys64/` in an MSYS2 setup that was +installed into `C:/msys64/`, the result should be `/`, not `//`. + +Let's ensure that we do not append another trailing slash if the +converted path already ends in a slash. + +This fixes https://github.com/msys2/msys2-runtime/issues/112 + +Signed-off-by: Johannes Schindelin +--- + winsup/cygwin/mount.cc | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/winsup/cygwin/mount.cc b/winsup/cygwin/mount.cc +index 939578a..37152fb 100644 +--- a/winsup/cygwin/mount.cc ++++ b/winsup/cygwin/mount.cc +@@ -954,6 +954,9 @@ mount_info::conv_to_posix_path (const char *src_path, char *posix_path, + nextchar = 1; + + int addslash = nextchar > 0 ? 1 : 0; ++ /* avoid appending a slash if the result already has a trailing slash */ ++ if (append_slash && mi.posix_pathlen && mi.posix_path[mi.posix_pathlen-1] == '/') ++ append_slash = addslash = 0; + if ((mi.posix_pathlen + (pathbuflen - mi.native_pathlen) + addslash) >= NT_MAX_PATH) + return ENAMETOOLONG; + strcpy (posix_path, mi.posix_path); diff --git a/msys2-runtime/0036-msys2_path_conv-pass-PC_NOFULL-to-path_conv.patch b/msys2-runtime/0036-msys2_path_conv-pass-PC_NOFULL-to-path_conv.patch new file mode 100644 index 00000000000..a9277eaae4b --- /dev/null +++ b/msys2-runtime/0036-msys2_path_conv-pass-PC_NOFULL-to-path_conv.patch @@ -0,0 +1,38 @@ +From 84cccf8ae308a21852c7c3420a2763f905422c4a Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Sun, 20 Nov 2022 13:57:36 +0100 +Subject: [PATCH 36/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 +https://github.com/msys2/msys2-runtime/pull/103 PC_NOFULL will preserve +the trailing slash of unix paths (for some reason). + +See "cygpath -m /bin/" (preserved) vs "cygpath -am /bin/" (dropped) + +One use case where we need to trailing slashes to be preserved is the GCC build +system: +https://github.com/gcc-mirror/gcc/blob/6d82e0fea5f988e829912a/gcc/Makefile.in#L2314 + +The Makefile appends a slash to the prefixes and the C code doing relocation will +treat the path as a directory if there is a trailing slash. See +https://github.com/msys2/MINGW-packages/issues/14173 for details. + +With this change all our MSYS2 path_conv tests pass again. +--- + winsup/cygwin/msys2_path_conv.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/winsup/cygwin/msys2_path_conv.cc b/winsup/cygwin/msys2_path_conv.cc +index 367692b..85a8817 100644 +--- a/winsup/cygwin/msys2_path_conv.cc ++++ b/winsup/cygwin/msys2_path_conv.cc +@@ -625,7 +625,7 @@ void posix_to_win32_path(const char* from, const char* to, char** dst, const cha + strncpy(one_path, from, to-from); + one_path[to-from] = '\0'; + +- path_conv conv (one_path, 0); ++ path_conv conv (one_path, PC_NOFULL); + if (conv.error) + { + set_errno(conv.error); diff --git a/msys2-runtime/0037-Revert-Cygwin-Enable-dynamicbase-on-the-Cygwin-DLL-b.patch b/msys2-runtime/0037-Revert-Cygwin-Enable-dynamicbase-on-the-Cygwin-DLL-b.patch new file mode 100644 index 00000000000..10bf19d543b --- /dev/null +++ b/msys2-runtime/0037-Revert-Cygwin-Enable-dynamicbase-on-the-Cygwin-DLL-b.patch @@ -0,0 +1,28 @@ +From a8c8ee395ef80669980abc3c8488b91ecd9cdf0c Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Sat, 17 Dec 2022 20:14:49 +0100 +Subject: [PATCH 37/N] Revert "Cygwin: Enable dynamicbase on the Cygwin DLL by + default" + +This reverts commit 943433b00cacdde0cb9507d0178770a2fb67bd71. + +This seems to fix fork errors under Docker, see +https://cygwin.com/pipermail/cygwin/2022-December/252711.html +--- + winsup/cygwin/Makefile.am | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/winsup/cygwin/Makefile.am b/winsup/cygwin/Makefile.am +index 673bb7b..ec782dc 100644 +--- a/winsup/cygwin/Makefile.am ++++ b/winsup/cygwin/Makefile.am +@@ -585,8 +585,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 \ +- -Wl,--gc-sections -nostdlib -Wl,-T$(LDSCRIPT) \ +- -Wl,--dynamicbase -static \ ++ -Wl,--gc-sections -nostdlib -Wl,-T$(LDSCRIPT) -static \ + -Wl,--heap=0 -Wl,--out-implib,msysdll.a -shared -o $@ \ + -e @DLL_ENTRY@ $(DEF_FILE) \ + -Wl,-whole-archive libdll.a -Wl,-no-whole-archive \ diff --git a/msys2-runtime/0060-dumper-avoid-linker-problem-when-libbfd-depends-on-l.patch b/msys2-runtime/0038-dumper-avoid-linker-problem-when-libbfd-depends-on-l.patch similarity index 81% rename from msys2-runtime/0060-dumper-avoid-linker-problem-when-libbfd-depends-on-l.patch rename to msys2-runtime/0038-dumper-avoid-linker-problem-when-libbfd-depends-on-l.patch index 2c6c67ed653..330e710d0a3 100644 --- a/msys2-runtime/0060-dumper-avoid-linker-problem-when-libbfd-depends-on-l.patch +++ b/msys2-runtime/0038-dumper-avoid-linker-problem-when-libbfd-depends-on-l.patch @@ -1,7 +1,7 @@ -From 4704d291696b2f2521aba2d05d08f69b01e2a455 Mon Sep 17 00:00:00 2001 +From 73f382c88e0d3757d3be7c6629c7fdb99bc459b8 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Tue, 31 Jan 2023 09:32:08 +0100 -Subject: [PATCH 60/N] dumper: avoid linker problem when `libbfd` depends on +Subject: [PATCH 38/N] dumper: avoid linker problem when `libbfd` depends on `libsframe` A recent binutils version introduced `libsframe` and made it a @@ -15,10 +15,10 @@ Signed-off-by: Johannes Schindelin 2 files changed, 9 insertions(+) diff --git a/winsup/configure.ac b/winsup/configure.ac -index 5eb3273..ca2b8c0 100644 +index a27b301..86f168a 100644 --- a/winsup/configure.ac +++ b/winsup/configure.ac -@@ -110,6 +110,11 @@ AC_CHECK_LIB([bfd], [bfd_init], [true], +@@ -120,6 +120,11 @@ AC_CHECK_LIB([bfd], [bfd_init], [true], AM_CONDITIONAL(BUILD_DUMPER, [test "x$ac_cv_lib_bfd_bfd_init" = "xyes"]) @@ -31,10 +31,10 @@ index 5eb3273..ca2b8c0 100644 Makefile cygwin/Makefile diff --git a/winsup/utils/Makefile.am b/winsup/utils/Makefile.am -index e12dfdd..08f6212 100644 +index 6be5b12..890090f 100644 --- a/winsup/utils/Makefile.am +++ b/winsup/utils/Makefile.am -@@ -87,6 +87,10 @@ profiler_CXXFLAGS = -I$(srcdir) -idirafter ${top_srcdir}/cygwin -idirafter ${top +@@ -87,6 +87,10 @@ profiler_CXXFLAGS = -I$(srcdir) -idirafter ${top_srcdir}/cygwin/local_includes - profiler_LDADD = $(LDADD) -lntdll cygps_LDADD = $(LDADD) -lpsapi -lntdll diff --git a/msys2-runtime/0039-Add-a-helpful-debug-message-for-posix-to-windows-con.patch b/msys2-runtime/0039-Add-a-helpful-debug-message-for-posix-to-windows-con.patch deleted file mode 100644 index 7a12efb746d..00000000000 --- a/msys2-runtime/0039-Add-a-helpful-debug-message-for-posix-to-windows-con.patch +++ /dev/null @@ -1,23 +0,0 @@ -From d2456ea67eeb6decd041a2f8c289d83ae1b31579 Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Wed, 18 Feb 2015 11:06:15 +0000 -Subject: [PATCH 39/N] Add a helpful debug message for posix-to-windows - conversion - -Signed-off-by: Johannes Schindelin ---- - winsup/cygwin/msys2_path_conv.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/winsup/cygwin/msys2_path_conv.cc b/winsup/cygwin/msys2_path_conv.cc -index cba028e..be78fc8 100644 ---- a/winsup/cygwin/msys2_path_conv.cc -+++ b/winsup/cygwin/msys2_path_conv.cc -@@ -238,6 +238,7 @@ void find_end_of_rooted_path(const char** from, const char** to, int* in_string) - void sub_convert(const char** from, const char** to, char** dst, const char* dstend, int* in_string) { - const char* copy_from = *from; - path_type type = find_path_start_and_type(from, false, *to); -+ debug_printf("found type %d for path %s", type, copy_from); - - if (type == POSIX_PATH_LIST) { - find_end_of_posix_list(to, in_string); diff --git a/msys2-runtime/0040-Stop-assuming-that-there-are-no-spaces-in-POSIX-styl.patch b/msys2-runtime/0039-Stop-assuming-that-there-are-no-spaces-in-POSIX-styl.patch similarity index 90% rename from msys2-runtime/0040-Stop-assuming-that-there-are-no-spaces-in-POSIX-styl.patch rename to msys2-runtime/0039-Stop-assuming-that-there-are-no-spaces-in-POSIX-styl.patch index e75983692ae..90977381d12 100644 --- a/msys2-runtime/0040-Stop-assuming-that-there-are-no-spaces-in-POSIX-styl.patch +++ b/msys2-runtime/0039-Stop-assuming-that-there-are-no-spaces-in-POSIX-styl.patch @@ -1,7 +1,7 @@ -From 0b2d28762900ff0bf9965c80bfe060545e1991da Mon Sep 17 00:00:00 2001 +From 385136b23c6f4a3bb2ea0ae92c50ddfe6db23d50 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 18 Feb 2015 10:45:01 +0000 -Subject: [PATCH 40/N] Stop assuming that there are no spaces in POSIX-style +Subject: [PATCH 39/N] Stop assuming that there are no spaces in POSIX-style paths Git's test suite most prominently sports a POSIX path with a space in @@ -17,7 +17,7 @@ Signed-off-by: Johannes Schindelin 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/winsup/cygwin/msys2_path_conv.cc b/winsup/cygwin/msys2_path_conv.cc -index be78fc8..1dde22e 100644 +index 85a8817..2bdf0ae 100644 --- a/winsup/cygwin/msys2_path_conv.cc +++ b/winsup/cygwin/msys2_path_conv.cc @@ -201,7 +201,7 @@ void ppl_convert(const char** from, const char* to, char** dst, const char* dste diff --git a/msys2-runtime/0037-Handle-8-bit-characters-under-LOCALE-C.patch b/msys2-runtime/0040-Handle-8-bit-characters-under-LOCALE-C.patch similarity index 87% rename from msys2-runtime/0037-Handle-8-bit-characters-under-LOCALE-C.patch rename to msys2-runtime/0040-Handle-8-bit-characters-under-LOCALE-C.patch index f5d73b08868..bc489fde32d 100644 --- a/msys2-runtime/0037-Handle-8-bit-characters-under-LOCALE-C.patch +++ b/msys2-runtime/0040-Handle-8-bit-characters-under-LOCALE-C.patch @@ -1,7 +1,7 @@ -From 1e0136ee86d7e5f50a4b59edc4327bd3133bd85d Mon Sep 17 00:00:00 2001 +From de4ab2e1c6647449ff71fa015627e99e59b68dd0 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Fri, 20 Feb 2015 13:56:22 +0000 -Subject: [PATCH 37/N] Handle 8-bit characters under LOCALE=C +Subject: [PATCH 40/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 @@ -17,7 +17,7 @@ Signed-off-by: Johannes Schindelin 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c -index 920a7ea..4ac10e3 100644 +index ca876f9..ee43736 100644 --- a/newlib/libc/stdlib/mbtowc_r.c +++ b/newlib/libc/stdlib/mbtowc_r.c @@ -36,7 +36,7 @@ __ascii_mbtowc (struct _reent *r, @@ -28,9 +28,9 @@ index 920a7ea..4ac10e3 100644 +#ifdef STRICTLY_7BIT_ASCII if ((wchar_t)*t >= 0x80) { - r->_errno = EILSEQ; + _REENT_ERRNO(r) = EILSEQ; diff --git a/newlib/libc/stdlib/wctomb_r.c b/newlib/libc/stdlib/wctomb_r.c -index b479934..d0fe158 100644 +index a7f87cd..2c536ce 100644 --- a/newlib/libc/stdlib/wctomb_r.c +++ b/newlib/libc/stdlib/wctomb_r.c @@ -29,7 +29,7 @@ __ascii_wctomb (struct _reent *r, @@ -43,7 +43,7 @@ index b479934..d0fe158 100644 #else if ((size_t)wchar >= 0x100) diff --git a/winsup/cygwin/strfuncs.cc b/winsup/cygwin/strfuncs.cc -index f68fcb7..89c84bb 100644 +index 0ab2290..ebd559b 100644 --- a/winsup/cygwin/strfuncs.cc +++ b/winsup/cygwin/strfuncs.cc @@ -616,7 +616,11 @@ _sys_mbstowcs (mbtowc_p f_mbtowc, wchar_t *dst, size_t dlen, const char *src, diff --git a/msys2-runtime/0041-Avoid-unnecessary-recursion-in-find_path_start_and_t.patch b/msys2-runtime/0041-Avoid-unnecessary-recursion-in-find_path_start_and_t.patch deleted file mode 100644 index 16436bcad5d..00000000000 --- a/msys2-runtime/0041-Avoid-unnecessary-recursion-in-find_path_start_and_t.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 78fbdbbd5eead9a104d30b78f2cc7d3e3a68309e Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Sun, 22 Feb 2015 18:28:02 +0100 -Subject: [PATCH 41/N] Avoid unnecessary recursion in - find_path_start_and_type() - -Signed-off-by: Johannes Schindelin ---- - winsup/cygwin/msys2_path_conv.cc | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/winsup/cygwin/msys2_path_conv.cc b/winsup/cygwin/msys2_path_conv.cc -index 1dde22e..c1be799 100644 ---- a/winsup/cygwin/msys2_path_conv.cc -+++ b/winsup/cygwin/msys2_path_conv.cc -@@ -341,8 +341,10 @@ path_type find_path_start_and_type(const char** src, int recurse, const char* en - - if (*it == '\0' || it == end) return NONE; - -- if (!isalnum(*it) && *it != '/' && *it != '\\' && *it != ':' && *it != '-' && *it != '.') { -- return find_path_start_and_type(move(src, 1), true, end); -+ while (!isalnum(*it) && *it != '/' && *it != '\\' && *it != ':' && *it != '-' && *it != '.') { -+ recurse = true; -+ it = ++*src; -+ if (it == end || *it == '\0') return NONE; - } - - path_type result = NONE; diff --git a/msys2-runtime/0038-Mention-the-extremely-useful-small_printf-function.patch b/msys2-runtime/0041-Mention-the-extremely-useful-small_printf-function.patch similarity index 66% rename from msys2-runtime/0038-Mention-the-extremely-useful-small_printf-function.patch rename to msys2-runtime/0041-Mention-the-extremely-useful-small_printf-function.patch index 00699429cf5..06d7c51bb95 100644 --- a/msys2-runtime/0038-Mention-the-extremely-useful-small_printf-function.patch +++ b/msys2-runtime/0041-Mention-the-extremely-useful-small_printf-function.patch @@ -1,19 +1,19 @@ -From a5012b9e832164643bc252b9e98f693959329550 Mon Sep 17 00:00:00 2001 +From 63b328e648843b0d8cfd910c04290eea19aada73 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Fri, 20 Feb 2015 11:54:47 +0000 -Subject: [PATCH 38/N] Mention the extremely useful small_printf() function +Subject: [PATCH 41/N] Mention the extremely useful small_printf() function It came in real handy while debugging an issue that strace 'fixed'. Signed-off-by: Johannes Schindelin --- - winsup/cygwin/how-to-debug-cygwin.txt | 6 ++++++ + winsup/cygwin/DevDocs/how-to-debug-cygwin.txt | 6 ++++++ 1 file changed, 6 insertions(+) -diff --git a/winsup/cygwin/how-to-debug-cygwin.txt b/winsup/cygwin/how-to-debug-cygwin.txt +diff --git a/winsup/cygwin/DevDocs/how-to-debug-cygwin.txt b/winsup/cygwin/DevDocs/how-to-debug-cygwin.txt index 61e91c8..953d375 100644 ---- a/winsup/cygwin/how-to-debug-cygwin.txt -+++ b/winsup/cygwin/how-to-debug-cygwin.txt +--- a/winsup/cygwin/DevDocs/how-to-debug-cygwin.txt ++++ b/winsup/cygwin/DevDocs/how-to-debug-cygwin.txt @@ -126,3 +126,9 @@ set CYGWIN_DEBUG=cat.exe:gdb.exe program will crash, probably in small_printf. At that point, a 'bt' command should show you the offending call to strace_printf with the diff --git a/msys2-runtime/0042-Leave-arguments-starting-with-a-tilde-or-quote-alone.patch b/msys2-runtime/0042-Leave-arguments-starting-with-a-tilde-or-quote-alone.patch index aa441cede67..02ff2bc2ab4 100644 --- a/msys2-runtime/0042-Leave-arguments-starting-with-a-tilde-or-quote-alone.patch +++ b/msys2-runtime/0042-Leave-arguments-starting-with-a-tilde-or-quote-alone.patch @@ -1,4 +1,4 @@ -From 707f9b218a434294d9290d7bc361d3fb89d31542 Mon Sep 17 00:00:00 2001 +From f27f65ed26cc07880fd7a8f730d98785533f895e Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Sun, 15 Feb 2015 11:45:48 +0000 Subject: [PATCH 42/N] Leave arguments starting with a tilde or quote alone @@ -12,7 +12,7 @@ Signed-off-by: Johannes Schindelin 1 file changed, 7 insertions(+) diff --git a/winsup/cygwin/msys2_path_conv.cc b/winsup/cygwin/msys2_path_conv.cc -index c1be799..fd11888 100644 +index 2bdf0ae..1fdee64 100644 --- a/winsup/cygwin/msys2_path_conv.cc +++ b/winsup/cygwin/msys2_path_conv.cc @@ -341,6 +341,13 @@ path_type find_path_start_and_type(const char** src, int recurse, const char* en diff --git a/msys2-runtime/0043-Leave-Git-s-name-and-message-arguments-alone-please.patch b/msys2-runtime/0043-Leave-Git-s-name-and-message-arguments-alone-please.patch index 53acec90add..94ebd69c975 100644 --- a/msys2-runtime/0043-Leave-Git-s-name-and-message-arguments-alone-please.patch +++ b/msys2-runtime/0043-Leave-Git-s-name-and-message-arguments-alone-please.patch @@ -1,4 +1,4 @@ -From c312f3d3c6238e9835adc83a300d162d73a23ce2 Mon Sep 17 00:00:00 2001 +From 9780f9c13b1d168793c75dea8445d8b9e942e78a Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 18 Feb 2015 11:07:17 +0000 Subject: [PATCH 43/N] Leave Git's :name and :/message arguments alone, please @@ -9,7 +9,7 @@ Signed-off-by: Johannes Schindelin 1 file changed, 6 insertions(+) diff --git a/winsup/cygwin/msys2_path_conv.cc b/winsup/cygwin/msys2_path_conv.cc -index fd11888..c0133f1 100644 +index 1fdee64..f112fa4 100644 --- a/winsup/cygwin/msys2_path_conv.cc +++ b/winsup/cygwin/msys2_path_conv.cc @@ -348,6 +348,12 @@ skip_p2w: diff --git a/msys2-runtime/0044-Leave-paths-containing-any-special-characters-alone.patch b/msys2-runtime/0044-Leave-paths-containing-any-special-characters-alone.patch index f61ae02b2d0..359bf931cf7 100644 --- a/msys2-runtime/0044-Leave-paths-containing-any-special-characters-alone.patch +++ b/msys2-runtime/0044-Leave-paths-containing-any-special-characters-alone.patch @@ -1,4 +1,4 @@ -From 99a84e0081beada038721db559f210a9d52e68af Mon Sep 17 00:00:00 2001 +From b63b22818c43771cfb16431025571b65a0787d84 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Sun, 22 Feb 2015 18:33:48 +0100 Subject: [PATCH 44/N] Leave paths containing any special characters alone @@ -9,7 +9,7 @@ Signed-off-by: Johannes Schindelin 1 file changed, 14 insertions(+) diff --git a/winsup/cygwin/msys2_path_conv.cc b/winsup/cygwin/msys2_path_conv.cc -index c0133f1..041e707 100644 +index f112fa4..72e06d4 100644 --- a/winsup/cygwin/msys2_path_conv.cc +++ b/winsup/cygwin/msys2_path_conv.cc @@ -354,6 +354,20 @@ skip_p2w: diff --git a/msys2-runtime/0045-Leave-paths-containing-alone.patch b/msys2-runtime/0045-Leave-paths-containing-alone.patch index 87aec5e9a4c..45185d080a4 100644 --- a/msys2-runtime/0045-Leave-paths-containing-alone.patch +++ b/msys2-runtime/0045-Leave-paths-containing-alone.patch @@ -1,4 +1,4 @@ -From 6efd127eebc34653a22ae66437adb85e272721aa Mon Sep 17 00:00:00 2001 +From 5824c7a9b050225a30aebce80976dbe6bb417de6 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 18 Feb 2015 11:07:17 +0000 Subject: [PATCH 45/N] Leave paths containing '/~' alone @@ -13,7 +13,7 @@ Signed-off-by: Johannes Schindelin 1 file changed, 4 insertions(+) diff --git a/winsup/cygwin/msys2_path_conv.cc b/winsup/cygwin/msys2_path_conv.cc -index 041e707..50e2256 100644 +index 72e06d4..924ac0e 100644 --- a/winsup/cygwin/msys2_path_conv.cc +++ b/winsup/cygwin/msys2_path_conv.cc @@ -364,6 +364,10 @@ skip_p2w: diff --git a/msys2-runtime/0046-Skip-posix-to-windows-conversion-when-is-seen.patch b/msys2-runtime/0046-Skip-posix-to-windows-conversion-when-is-seen.patch index c3c8d66d3e8..9e9a7017342 100644 --- a/msys2-runtime/0046-Skip-posix-to-windows-conversion-when-is-seen.patch +++ b/msys2-runtime/0046-Skip-posix-to-windows-conversion-when-is-seen.patch @@ -1,4 +1,4 @@ -From 4076235378d600e202ef0b7db2ed99a77beca2f9 Mon Sep 17 00:00:00 2001 +From 43f2118ce1eeeb6a8772ef40e65035d1f0db8695 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 18 Feb 2015 11:07:17 +0000 Subject: [PATCH 46/N] Skip posix-to-windows conversion when '::' is seen @@ -11,7 +11,7 @@ Signed-off-by: Johannes Schindelin 1 file changed, 5 insertions(+) diff --git a/winsup/cygwin/msys2_path_conv.cc b/winsup/cygwin/msys2_path_conv.cc -index 50e2256..38342b6 100644 +index 924ac0e..d1ca5dd 100644 --- a/winsup/cygwin/msys2_path_conv.cc +++ b/winsup/cygwin/msys2_path_conv.cc @@ -368,6 +368,11 @@ skip_p2w: diff --git a/msys2-runtime/0047-Also-leave-Git-s-rev-.-name-syntax-alone.patch b/msys2-runtime/0047-Also-leave-Git-s-rev-.-name-syntax-alone.patch index 3cae93c5657..6137c8bbf78 100644 --- a/msys2-runtime/0047-Also-leave-Git-s-rev-.-name-syntax-alone.patch +++ b/msys2-runtime/0047-Also-leave-Git-s-rev-.-name-syntax-alone.patch @@ -1,4 +1,4 @@ -From 12461acc8ac64da68d65fad153863730ea7ce597 Mon Sep 17 00:00:00 2001 +From 1c5c1da42da8839b5317870e18f78d37dae526fd Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 18 Feb 2015 11:07:17 +0000 Subject: [PATCH 47/N] Also leave Git's :./ syntax alone @@ -11,7 +11,7 @@ Signed-off-by: Johannes Schindelin 1 file changed, 8 insertions(+) diff --git a/winsup/cygwin/msys2_path_conv.cc b/winsup/cygwin/msys2_path_conv.cc -index 38342b6..b4e28db 100644 +index d1ca5dd..e65b9ed 100644 --- a/winsup/cygwin/msys2_path_conv.cc +++ b/winsup/cygwin/msys2_path_conv.cc @@ -372,6 +372,14 @@ skip_p2w: diff --git a/msys2-runtime/0048-Arguments-starting-with-are-no-paths.patch b/msys2-runtime/0048-Arguments-starting-with-are-no-paths.patch index 29031a68b3b..d92fe044b05 100644 --- a/msys2-runtime/0048-Arguments-starting-with-are-no-paths.patch +++ b/msys2-runtime/0048-Arguments-starting-with-are-no-paths.patch @@ -1,4 +1,4 @@ -From aeb2e423d9e8d886920ca0c71ecb579100198636 Mon Sep 17 00:00:00 2001 +From 07b11c91bd43cdeb3ca9d965ba9d916fec5b64af Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 18 Feb 2015 11:07:17 +0000 Subject: [PATCH 48/N] Arguments starting with '@@' are no paths @@ -13,7 +13,7 @@ Signed-off-by: Johannes Schindelin 1 file changed, 5 insertions(+) diff --git a/winsup/cygwin/msys2_path_conv.cc b/winsup/cygwin/msys2_path_conv.cc -index b4e28db..965f031 100644 +index e65b9ed..e2af04c 100644 --- a/winsup/cygwin/msys2_path_conv.cc +++ b/winsup/cygwin/msys2_path_conv.cc @@ -381,6 +381,11 @@ skip_p2w: diff --git a/msys2-runtime/0049-Prevent-scp-style-arguments-from-being-mangled.patch b/msys2-runtime/0049-Prevent-scp-style-arguments-from-being-mangled.patch index 2e5f03d24d1..0d3bb61d072 100644 --- a/msys2-runtime/0049-Prevent-scp-style-arguments-from-being-mangled.patch +++ b/msys2-runtime/0049-Prevent-scp-style-arguments-from-being-mangled.patch @@ -1,4 +1,4 @@ -From 9f3e592333a649296f875b00302487df9419bf9a Mon Sep 17 00:00:00 2001 +From 07fd72eadebb9977a2b40f60606a24005ece9eb3 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 18 Feb 2015 11:07:17 +0000 Subject: [PATCH 49/N] Prevent scp-style arguments from being mangled @@ -14,7 +14,7 @@ Signed-off-by: Johannes Schindelin 1 file changed, 8 insertions(+) diff --git a/winsup/cygwin/msys2_path_conv.cc b/winsup/cygwin/msys2_path_conv.cc -index 965f031..7b1312a 100644 +index e2af04c..8f5cdf6 100644 --- a/winsup/cygwin/msys2_path_conv.cc +++ b/winsup/cygwin/msys2_path_conv.cc @@ -455,6 +455,8 @@ skip_p2w: diff --git a/msys2-runtime/0050-Fixed-path-converting-with-non-ascii-char.patch b/msys2-runtime/0050-Fixed-path-converting-with-non-ascii-char.patch index ddbdfb80ebe..c662ff9756d 100644 --- a/msys2-runtime/0050-Fixed-path-converting-with-non-ascii-char.patch +++ b/msys2-runtime/0050-Fixed-path-converting-with-non-ascii-char.patch @@ -1,4 +1,4 @@ -From 92a0032d1af69a7df0e5868a42e2900c1e695838 Mon Sep 17 00:00:00 2001 +From e01713d8ba5cca21575c064ae965fbc7ca875239 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 50/N] Fixed path converting with non ascii char. @@ -17,7 +17,7 @@ Signed-off-by: 마누엘 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/winsup/cygwin/msys2_path_conv.cc b/winsup/cygwin/msys2_path_conv.cc -index 7b1312a..2c06439 100644 +index 8f5cdf6..d346ff3 100644 --- a/winsup/cygwin/msys2_path_conv.cc +++ b/winsup/cygwin/msys2_path_conv.cc @@ -390,7 +390,7 @@ skip_p2w: diff --git a/msys2-runtime/0051-path-conversion-Introduce-ability-to-switch-off-conv.patch b/msys2-runtime/0051-path-conversion-Introduce-ability-to-switch-off-conv.patch index 3dcd982dabd..81bfc9d440e 100644 --- a/msys2-runtime/0051-path-conversion-Introduce-ability-to-switch-off-conv.patch +++ b/msys2-runtime/0051-path-conversion-Introduce-ability-to-switch-off-conv.patch @@ -1,4 +1,4 @@ -From f874ac108a7b35b1f2ddb07e1d31fc718281818d Mon Sep 17 00:00:00 2001 +From 09e6db754e0db5a05d0c58d474e0ed7bff69ca18 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 51/N] path-conversion: Introduce ability to switch off @@ -21,7 +21,7 @@ Signed-off-by: 마누엘 1 file changed, 8 insertions(+) diff --git a/winsup/cygwin/msys2_path_conv.cc b/winsup/cygwin/msys2_path_conv.cc -index 2c06439..61a4cb4 100644 +index d346ff3..9ebff07 100644 --- a/winsup/cygwin/msys2_path_conv.cc +++ b/winsup/cygwin/msys2_path_conv.cc @@ -348,6 +348,14 @@ skip_p2w: diff --git a/msys2-runtime/0052-Allow-overriding-the-home-directory-via-the-HOME-var.patch b/msys2-runtime/0052-Allow-overriding-the-home-directory-via-the-HOME-var.patch index b9df5b8e325..096c2fe0c92 100644 --- a/msys2-runtime/0052-Allow-overriding-the-home-directory-via-the-HOME-var.patch +++ b/msys2-runtime/0052-Allow-overriding-the-home-directory-via-the-HOME-var.patch @@ -1,4 +1,4 @@ -From ad711d9aa5299ca256c8888b309a2067e55c9691 Mon Sep 17 00:00:00 2001 +From 81570ce3a1d0de2e43f5474577863a6e4f1e540d Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 27 Apr 2015 11:58:08 +0200 Subject: [PATCH 52/N] Allow overriding the home directory via the HOME @@ -19,15 +19,15 @@ strategy is activated via the `env` keyword in the `db_home` line in Signed-off-by: Johannes Schindelin --- - winsup/cygwin/cygheap.h | 3 ++- - winsup/cygwin/uinfo.cc | 49 +++++++++++++++++++++++++++++++++++++++++ + winsup/cygwin/local_includes/cygheap.h | 3 +- + winsup/cygwin/uinfo.cc | 49 ++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) -diff --git a/winsup/cygwin/cygheap.h b/winsup/cygwin/cygheap.h -index 8877cc3..ced50a1 100644 ---- a/winsup/cygwin/cygheap.h -+++ b/winsup/cygwin/cygheap.h -@@ -403,7 +403,8 @@ public: +diff --git a/winsup/cygwin/local_includes/cygheap.h b/winsup/cygwin/local_includes/cygheap.h +index 347cbf4..f5aecba 100644 +--- a/winsup/cygwin/local_includes/cygheap.h ++++ b/winsup/cygwin/local_includes/cygheap.h +@@ -406,7 +406,8 @@ public: NSS_SCHEME_UNIX, NSS_SCHEME_DESC, NSS_SCHEME_PATH, @@ -38,10 +38,10 @@ index 8877cc3..ced50a1 100644 struct nss_scheme_t { nss_scheme_method method; diff --git a/winsup/cygwin/uinfo.cc b/winsup/cygwin/uinfo.cc -index 5736ffb..76afd82 100644 +index 9bbcf1c..f569858 100644 --- a/winsup/cygwin/uinfo.cc +++ b/winsup/cygwin/uinfo.cc -@@ -794,6 +794,8 @@ cygheap_pwdgrp::nss_init_line (const char *line) +@@ -733,6 +733,8 @@ cygheap_pwdgrp::nss_init_line (const char *line) scheme[idx].method = NSS_SCHEME_UNIX; else if (NSS_CMP ("desc")) scheme[idx].method = NSS_SCHEME_DESC; @@ -50,7 +50,7 @@ index 5736ffb..76afd82 100644 else if (NSS_NCMP ("/")) { const char *e = c + strcspn (c, " \t"); -@@ -982,6 +984,40 @@ fetch_from_path (cyg_ldap *pldap, PUSER_INFO_3 ui, cygpsid &sid, PCWSTR str, +@@ -921,6 +923,40 @@ fetch_from_path (cyg_ldap *pldap, PUSER_INFO_3 ui, cygpsid &sid, PCWSTR str, return ret; } @@ -91,7 +91,7 @@ index 5736ffb..76afd82 100644 char * cygheap_pwdgrp::get_home (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, PCWSTR dnsdomain, PCWSTR name, bool full_qualified) -@@ -1041,6 +1077,10 @@ cygheap_pwdgrp::get_home (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, +@@ -980,6 +1016,10 @@ cygheap_pwdgrp::get_home (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, } } break; @@ -102,7 +102,7 @@ index 5736ffb..76afd82 100644 } } return home; -@@ -1073,6 +1113,10 @@ cygheap_pwdgrp::get_home (PUSER_INFO_3 ui, cygpsid &sid, PCWSTR dom, +@@ -1012,6 +1052,10 @@ cygheap_pwdgrp::get_home (PUSER_INFO_3 ui, cygpsid &sid, PCWSTR dom, home = fetch_from_path (NULL, ui, sid, home_scheme[idx].attrib, dom, NULL, name, full_qualified); break; @@ -113,7 +113,7 @@ index 5736ffb..76afd82 100644 } } return home; -@@ -1092,6 +1136,7 @@ cygheap_pwdgrp::get_shell (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, +@@ -1031,6 +1075,7 @@ cygheap_pwdgrp::get_shell (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, case NSS_SCHEME_FALLBACK: return NULL; case NSS_SCHEME_WINDOWS: @@ -121,7 +121,7 @@ index 5736ffb..76afd82 100644 break; case NSS_SCHEME_CYGWIN: if (pldap->fetch_ad_account (sid, false, dnsdomain)) -@@ -1156,6 +1201,7 @@ cygheap_pwdgrp::get_shell (PUSER_INFO_3 ui, cygpsid &sid, PCWSTR dom, +@@ -1095,6 +1140,7 @@ cygheap_pwdgrp::get_shell (PUSER_INFO_3 ui, cygpsid &sid, PCWSTR dom, case NSS_SCHEME_CYGWIN: case NSS_SCHEME_UNIX: case NSS_SCHEME_FREEATTR: @@ -129,7 +129,7 @@ index 5736ffb..76afd82 100644 break; case NSS_SCHEME_DESC: if (ui) -@@ -1237,6 +1283,8 @@ cygheap_pwdgrp::get_gecos (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, +@@ -1176,6 +1222,8 @@ cygheap_pwdgrp::get_gecos (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, sys_wcstombs_alloc (&gecos, HEAP_NOTHEAP, val); } break; @@ -138,7 +138,7 @@ index 5736ffb..76afd82 100644 } } if (gecos) -@@ -1263,6 +1311,7 @@ cygheap_pwdgrp::get_gecos (PUSER_INFO_3 ui, cygpsid &sid, PCWSTR dom, +@@ -1202,6 +1250,7 @@ cygheap_pwdgrp::get_gecos (PUSER_INFO_3 ui, cygpsid &sid, PCWSTR dom, case NSS_SCHEME_CYGWIN: case NSS_SCHEME_UNIX: case NSS_SCHEME_FREEATTR: diff --git a/msys2-runtime/0053-Respect-db_home-setting-even-for-the-SYSTEM-account.patch b/msys2-runtime/0053-Respect-db_home-setting-even-for-the-SYSTEM-account.patch index 3b57b8fae90..1e23f1082fa 100644 --- a/msys2-runtime/0053-Respect-db_home-setting-even-for-the-SYSTEM-account.patch +++ b/msys2-runtime/0053-Respect-db_home-setting-even-for-the-SYSTEM-account.patch @@ -1,4 +1,4 @@ -From 90d8aad19b1b6f473ad4d3410a3c6055e800242e Mon Sep 17 00:00:00 2001 +From 2078dff9396ed504fd2d37196a88f5f3048608b3 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Fri, 25 Sep 2015 17:15:41 +0200 Subject: [PATCH 53/N] Respect `db_home` setting even for the SYSTEM account @@ -15,10 +15,10 @@ Signed-off-by: Johannes Schindelin 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/uinfo.cc b/winsup/cygwin/uinfo.cc -index 76afd82..a727d11 100644 +index f569858..17437b2 100644 --- a/winsup/cygwin/uinfo.cc +++ b/winsup/cygwin/uinfo.cc -@@ -2307,7 +2307,11 @@ pwdgrp::fetch_account_from_windows (fetch_user_arg_t &arg, cyg_ldap *pldap) +@@ -2232,7 +2232,11 @@ pwdgrp::fetch_account_from_windows (fetch_user_arg_t &arg, cyg_ldap *pldap) it to a well-known group here. */ if (acc_type == SidTypeUser && (sid_sub_auth_count (sid) <= 3 || sid_id_auth (sid) == 11)) diff --git a/msys2-runtime/0054-Respect-the-db_home-env-setting-under-more-circumsta.patch b/msys2-runtime/0054-Respect-the-db_home-env-setting-under-more-circumsta.patch index 3635d15012e..66c10ef134d 100644 --- a/msys2-runtime/0054-Respect-the-db_home-env-setting-under-more-circumsta.patch +++ b/msys2-runtime/0054-Respect-the-db_home-env-setting-under-more-circumsta.patch @@ -1,4 +1,4 @@ -From 493549507818387c4ca831d82350b2a93f6f9e1e Mon Sep 17 00:00:00 2001 +From dda3c934e16f3e8d639044f50ec4483537a30f43 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Thu, 7 Jan 2016 15:54:27 +0000 Subject: [PATCH 54/N] Respect the `db_home: env` setting under more @@ -24,10 +24,10 @@ Signed-off-by: Johannes Schindelin 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/winsup/cygwin/uinfo.cc b/winsup/cygwin/uinfo.cc -index a727d11..bf72e82 100644 +index 17437b2..f7cf7c0 100644 --- a/winsup/cygwin/uinfo.cc +++ b/winsup/cygwin/uinfo.cc -@@ -1094,6 +1094,8 @@ cygheap_pwdgrp::get_home (PUSER_INFO_3 ui, cygpsid &sid, PCWSTR dom, +@@ -1033,6 +1033,8 @@ cygheap_pwdgrp::get_home (PUSER_INFO_3 ui, cygpsid &sid, PCWSTR dom, for (uint16_t idx = 0; !home && idx < NSS_SCHEME_MAX; ++idx) { @@ -36,7 +36,7 @@ index a727d11..bf72e82 100644 switch (home_scheme[idx].method) { case NSS_SCHEME_FALLBACK: -@@ -2254,6 +2256,9 @@ pwdgrp::fetch_account_from_windows (fetch_user_arg_t &arg, cyg_ldap *pldap) +@@ -2179,6 +2181,9 @@ pwdgrp::fetch_account_from_windows (fetch_user_arg_t &arg, cyg_ldap *pldap) { /* Just some fake. */ sid = csid.create (99, 1, 0); @@ -46,7 +46,7 @@ index a727d11..bf72e82 100644 break; } else if (arg.id >= UNIX_POSIX_OFFSET) -@@ -2814,10 +2819,11 @@ pwdgrp::fetch_account_from_windows (fetch_user_arg_t &arg, cyg_ldap *pldap) +@@ -2720,10 +2725,11 @@ pwdgrp::fetch_account_from_windows (fetch_user_arg_t &arg, cyg_ldap *pldap) logon. Unless it's the SYSTEM account. This conveniently allows to logon interactively as SYSTEM for debugging purposes. */ else if (acc_type != SidTypeUser && sid != well_known_system_sid) diff --git a/msys2-runtime/0055-Allow-native-symlinks-to-non-existing-targets-in-nat.patch b/msys2-runtime/0055-Allow-native-symlinks-to-non-existing-targets-in-nat.patch index d09bc804f16..a6da41d8300 100644 --- a/msys2-runtime/0055-Allow-native-symlinks-to-non-existing-targets-in-nat.patch +++ b/msys2-runtime/0055-Allow-native-symlinks-to-non-existing-targets-in-nat.patch @@ -1,4 +1,4 @@ -From 07e3f3f107685554e6e4ab223aee4d500ae4d85a Mon Sep 17 00:00:00 2001 +From 0a1c226ca1bb1b3262ca8551fbc53dcfaa2bbc7d Mon Sep 17 00:00:00 2001 From: Karsten Blees Date: Wed, 20 May 2015 16:32:52 +0200 Subject: [PATCH 55/N] Allow native symlinks to non-existing targets in @@ -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 9a3ad7a..9ccf984 100644 +index c0b85c0..8d7e752 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -1865,7 +1865,7 @@ symlink_native (const char *oldpath, path_conv &win32_newpath) diff --git a/msys2-runtime/0056-Make-paths-WCS-MBS-conversion-explicit.patch b/msys2-runtime/0056-Make-paths-WCS-MBS-conversion-explicit.patch index 9eb44e2b431..6e5f674c8c1 100644 --- a/msys2-runtime/0056-Make-paths-WCS-MBS-conversion-explicit.patch +++ b/msys2-runtime/0056-Make-paths-WCS-MBS-conversion-explicit.patch @@ -1,4 +1,4 @@ -From 99c3c01445c15cd5680d2d0f97215af6d95c75bb Mon Sep 17 00:00:00 2001 +From 42b0ac9c9814a24a0c368d7fef5b63f98aece6b2 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Fri, 18 Dec 2015 20:19:57 +0100 Subject: [PATCH 56/N] Make paths' WCS->MBS conversion explicit @@ -143,26 +143,26 @@ uinfo.cc (cygheap_pwdgrp::get_gecos): Signed-off-by: Johannes Schindelin --- - winsup/cygwin/dcrt0.cc | 4 ++-- - winsup/cygwin/dtable.cc | 2 +- - winsup/cygwin/environ.cc | 8 ++++---- - winsup/cygwin/external.cc | 2 +- - winsup/cygwin/fhandler_disk_file.cc | 4 ++-- - winsup/cygwin/fhandler_netdrive.cc | 6 +++--- - winsup/cygwin/fhandler_process.cc | 11 ++++++----- - winsup/cygwin/fhandler_procsys.cc | 11 ++++++----- - winsup/cygwin/mount.cc | 8 ++++---- - winsup/cygwin/nlsfuncs.cc | 2 +- - winsup/cygwin/path.cc | 29 +++++++++++++++-------------- - winsup/cygwin/uinfo.cc | 20 ++++++++++---------- - winsup/cygwin/wchar.h | 16 ++++++++-------- + winsup/cygwin/dcrt0.cc | 4 ++-- + winsup/cygwin/dtable.cc | 2 +- + winsup/cygwin/environ.cc | 8 ++++---- + winsup/cygwin/external.cc | 2 +- + winsup/cygwin/fhandler/disk_file.cc | 4 ++-- + winsup/cygwin/fhandler/netdrive.cc | 6 +++--- + winsup/cygwin/fhandler/process.cc | 11 ++++++----- + winsup/cygwin/fhandler/procsys.cc | 11 ++++++----- + winsup/cygwin/local_includes/wchar.h | 16 +++++++-------- + winsup/cygwin/mount.cc | 8 ++++---- + winsup/cygwin/nlsfuncs.cc | 2 +- + winsup/cygwin/path.cc | 29 ++++++++++++++-------------- + winsup/cygwin/uinfo.cc | 20 +++++++++---------- 13 files changed, 63 insertions(+), 60 deletions(-) diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc -index 4dc8be8..e32f02b 100644 +index 300b31c..1675a9b 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc -@@ -957,9 +957,9 @@ dll_crt0_1 (void *) +@@ -908,9 +908,9 @@ dll_crt0_1 (void *) if (!__argc) { PWCHAR wline = GetCommandLineW (); @@ -175,10 +175,10 @@ index 4dc8be8..e32f02b 100644 /* Scan the command line and build argv. Expand wildcards if not called from another cygwin process. */ diff --git a/winsup/cygwin/dtable.cc b/winsup/cygwin/dtable.cc -index bad7bd1..f5f7007 100644 +index d5a659c..f90465d 100644 --- a/winsup/cygwin/dtable.cc +++ b/winsup/cygwin/dtable.cc -@@ -1011,7 +1011,7 @@ handle_to_fn (HANDLE h, char *posix_fn) +@@ -1017,7 +1017,7 @@ handle_to_fn (HANDLE h, char *posix_fn) if (wcsncasecmp (w32, DEVICE_PREFIX, DEVICE_PREFIX_LEN) != 0 || !QueryDosDeviceW (NULL, fnbuf, sizeof (fnbuf) / sizeof (WCHAR))) { @@ -188,10 +188,10 @@ index bad7bd1..f5f7007 100644 } diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc -index 5afac8d..398b170 100644 +index 0899aa0..c1eed58 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc -@@ -929,7 +929,7 @@ win32env_to_cygenv (PWCHAR rawenv, bool posify) +@@ -917,7 +917,7 @@ win32env_to_cygenv (PWCHAR rawenv, bool posify) eventually want to use them). */ for (i = 0, w = rawenv; *w != L'\0'; w = wcschr (w, L'\0') + 1, i++) { @@ -200,7 +200,7 @@ index 5afac8d..398b170 100644 if (i >= envc) envp = (char **) realloc (envp, (4 + (envc += 100)) * sizeof (char *)); envp[i] = newp; -@@ -989,7 +989,7 @@ getwinenveq (const char *name, size_t namelen, int x) +@@ -977,7 +977,7 @@ getwinenveq (const char *name, size_t namelen, int x) int totlen = GetEnvironmentVariableW (name0, valbuf, 32768); if (totlen > 0) { @@ -209,7 +209,7 @@ index 5afac8d..398b170 100644 if (x == HEAP_1_STR) totlen += namelen; else -@@ -997,7 +997,7 @@ getwinenveq (const char *name, size_t namelen, int x) +@@ -985,7 +985,7 @@ getwinenveq (const char *name, size_t namelen, int x) char *p = (char *) cmalloc_abort ((cygheap_types) x, totlen); if (namelen) strcpy (p, name); @@ -218,7 +218,7 @@ index 5afac8d..398b170 100644 debug_printf ("using value from GetEnvironmentVariable for '%W'", name0); return p; } -@@ -1155,7 +1155,7 @@ build_env (const char * const *envp, PWCHAR &envblock, int &envc, +@@ -1143,7 +1143,7 @@ build_env (const char * const *envp, PWCHAR &envblock, int &envc, for (winnum = 0, var = cwinenv; *var; ++winnum, var = wcschr (var, L'\0') + 1) @@ -228,7 +228,7 @@ index 5afac8d..398b170 100644 DestroyEnvironmentBlock (cwinenv); /* Eliminate variables which are already available in envp, as well as diff --git a/winsup/cygwin/external.cc b/winsup/cygwin/external.cc -index 6adf620..0aaf0ba 100644 +index bb1c8a1..51d7a64 100644 --- a/winsup/cygwin/external.cc +++ b/winsup/cygwin/external.cc @@ -92,7 +92,7 @@ fillout_pinfo (pid_t pid, int winpid) @@ -240,11 +240,11 @@ index 6adf620..0aaf0ba 100644 ep.strace_mask = 0; ep.version = EXTERNAL_PINFO_VERSION; -diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc -index 33d8858..3db52b4 100644 ---- a/winsup/cygwin/fhandler_disk_file.cc -+++ b/winsup/cygwin/fhandler_disk_file.cc -@@ -2136,7 +2136,7 @@ fhandler_disk_file::readdir_helper (DIR *dir, dirent *de, DWORD w32_err, +diff --git a/winsup/cygwin/fhandler/disk_file.cc b/winsup/cygwin/fhandler/disk_file.cc +index 8528f7f..470e9d4 100644 +--- a/winsup/cygwin/fhandler/disk_file.cc ++++ b/winsup/cygwin/fhandler/disk_file.cc +@@ -2134,7 +2134,7 @@ fhandler_disk_file::readdir_helper (DIR *dir, dirent *de, DWORD w32_err, char *p = stpcpy (file, pc.get_posix ()); if (p[-1] != '/') *p++ = '/'; @@ -253,7 +253,7 @@ index 33d8858..3db52b4 100644 fname->Buffer, fname->Length / sizeof (WCHAR)); path_conv fpath (file, PC_SYM_NOFOLLOW); if (fpath.issymlink ()) -@@ -2157,7 +2157,7 @@ fhandler_disk_file::readdir_helper (DIR *dir, dirent *de, DWORD w32_err, +@@ -2155,7 +2155,7 @@ fhandler_disk_file::readdir_helper (DIR *dir, dirent *de, DWORD w32_err, } } @@ -262,11 +262,11 @@ index 33d8858..3db52b4 100644 fname->Length / sizeof (WCHAR)); /* Don't try to optimize relative to dir->__d_position. On several -diff --git a/winsup/cygwin/fhandler_netdrive.cc b/winsup/cygwin/fhandler_netdrive.cc -index b924b18..1e2b56f 100644 ---- a/winsup/cygwin/fhandler_netdrive.cc -+++ b/winsup/cygwin/fhandler_netdrive.cc -@@ -250,15 +250,15 @@ fhandler_netdrive::readdir (DIR *dir, dirent *de) +diff --git a/winsup/cygwin/fhandler/netdrive.cc b/winsup/cygwin/fhandler/netdrive.cc +index 58ab881..0b71d4b 100644 +--- a/winsup/cygwin/fhandler/netdrive.cc ++++ b/winsup/cygwin/fhandler/netdrive.cc +@@ -283,15 +283,15 @@ fhandler_netdrive::readdir (DIR *dir, dirent *de) tp.u_get (&ds); RtlInitUnicodeString (&ss, bs); RtlDowncaseUnicodeString (&ds, &ss, FALSE); @@ -285,10 +285,10 @@ index b924b18..1e2b56f 100644 de->d_ino = readdir_get_ino (rpath, false); /* We can't trust remote inode numbers of only 32 bit. That means, remote NT4 NTFS, as well as shares of Samba version < 3.0. */ -diff --git a/winsup/cygwin/fhandler_process.cc b/winsup/cygwin/fhandler_process.cc -index b5bc0e4..c4625a3 100644 ---- a/winsup/cygwin/fhandler_process.cc -+++ b/winsup/cygwin/fhandler_process.cc +diff --git a/winsup/cygwin/fhandler/process.cc b/winsup/cygwin/fhandler/process.cc +index b0aef2e..eab9673 100644 +--- a/winsup/cygwin/fhandler/process.cc ++++ b/winsup/cygwin/fhandler/process.cc @@ -574,10 +574,10 @@ static off_t format_process_winexename (void *data, char *&destbuf) { @@ -302,16 +302,16 @@ index b5bc0e4..c4625a3 100644 return len; } -@@ -1052,7 +1052,7 @@ peb_teb_rinse_repeat: +@@ -1048,7 +1048,7 @@ peb_teb_rinse_repeat: drive_maps.fixup_if_match (msi->SectionFileName.Buffer); if (mount_table->conv_to_posix_path (dosname, posix_modname, 0)) - sys_wcstombs (posix_modname, NT_MAX_PATH, dosname); + sys_wcstombs_path (posix_modname, NT_MAX_PATH, dosname); - stat64 (posix_modname, &st); + stat (posix_modname, &st); } else if (!threads.fill_if_match (cur.abase, mb.Type, -@@ -1098,7 +1098,7 @@ format_process_stat (void *data, char *&destbuf) +@@ -1103,7 +1103,7 @@ format_process_stat (void *data, char *&destbuf) else { PWCHAR last_slash = wcsrchr (p->progname, L'\\'); @@ -320,8 +320,8 @@ index b5bc0e4..c4625a3 100644 last_slash ? last_slash + 1 : p->progname); int len = strlen (cmd); if (len > 4) -@@ -1201,7 +1201,8 @@ format_process_status (void *data, char *&destbuf) - size_t vmsize = 0, vmrss = 0, vmdata = 0, vmlib = 0, vmtext = 0, vmshare = 0; +@@ -1210,7 +1210,8 @@ format_process_status (void *data, char *&destbuf) + bool fetch_siginfo = false; PWCHAR last_slash = wcsrchr (p->progname, L'\\'); - sys_wcstombs (cmd, NAME_MAX + 1, last_slash ? last_slash + 1 : p->progname); @@ -330,10 +330,10 @@ index b5bc0e4..c4625a3 100644 int len = strlen (cmd); if (len > 4) { -diff --git a/winsup/cygwin/fhandler_procsys.cc b/winsup/cygwin/fhandler_procsys.cc -index 02741d0..b88ca31 100644 ---- a/winsup/cygwin/fhandler_procsys.cc -+++ b/winsup/cygwin/fhandler_procsys.cc +diff --git a/winsup/cygwin/fhandler/procsys.cc b/winsup/cygwin/fhandler/procsys.cc +index 4fa0048..2f957be 100644 +--- a/winsup/cygwin/fhandler/procsys.cc ++++ b/winsup/cygwin/fhandler/procsys.cc @@ -236,10 +236,11 @@ fhandler_procsys::fill_filebuf () NtClose (h); if (!NT_SUCCESS (status)) @@ -360,11 +360,53 @@ index 02741d0..b88ca31 100644 de->d_ino = hash_path_name (get_ino (), de->d_name); if (RtlEqualUnicodeString (&dbi->ObjectTypeName, &ro_u_natdir, FALSE)) de->d_type = DT_DIR; +diff --git a/winsup/cygwin/local_includes/wchar.h b/winsup/cygwin/local_includes/wchar.h +index b2ddd45..f349daa 100644 +--- a/winsup/cygwin/local_includes/wchar.h ++++ b/winsup/cygwin/local_includes/wchar.h +@@ -51,29 +51,29 @@ extern size_t _sys_wcstombs_alloc (char **dst_p, int type, const wchar_t *src, + size_t nwc, bool is_path); + + static inline size_t +-sys_wcstombs (char *dst, size_t len, const wchar_t * src, +- size_t nwc = (size_t) -1) ++sys_wcstombs_path (char *dst, size_t len, const wchar_t * src, ++ size_t nwc = (size_t) -1) + { + return _sys_wcstombs (dst, len, src, nwc, true); + } + + static inline size_t +-sys_wcstombs_no_path (char *dst, size_t len, const wchar_t * src, +- size_t nwc = (size_t) -1) ++sys_wcstombs (char *dst, size_t len, const wchar_t * src, ++ size_t nwc = (size_t) -1) + { + return _sys_wcstombs (dst, len, src, nwc, false); + } + + static inline size_t +-sys_wcstombs_alloc (char **dst_p, int type, const wchar_t *src, +- size_t nwc = (size_t) -1) ++sys_wcstombs_alloc_path (char **dst_p, int type, const wchar_t *src, ++ size_t nwc = (size_t) -1) + { + return _sys_wcstombs_alloc (dst_p, type, src, nwc, true); + } + + static inline size_t +-sys_wcstombs_alloc_no_path (char **dst_p, int type, const wchar_t *src, +- size_t nwc = (size_t) -1) ++sys_wcstombs_alloc (char **dst_p, int type, const wchar_t *src, ++ size_t nwc = (size_t) -1) + { + return _sys_wcstombs_alloc (dst_p, type, src, nwc, false); + } diff --git a/winsup/cygwin/mount.cc b/winsup/cygwin/mount.cc -index 22d7b31..2336949 100644 +index 37152fb..998094e 100644 --- a/winsup/cygwin/mount.cc +++ b/winsup/cygwin/mount.cc -@@ -441,7 +441,7 @@ fs_info::update (PUNICODE_STRING upath, HANDLE in_vol) +@@ -463,7 +463,7 @@ fs_info::update (PUNICODE_STRING upath, HANDLE in_vol) { /* The filesystem name is only used in fillout_mntent and only if the filesystem isn't one of the well-known filesystems anyway. */ @@ -373,7 +415,7 @@ index 22d7b31..2336949 100644 ffai_buf.ffai.FileSystemNameLength / sizeof (WCHAR)); strlwr (fsn); } -@@ -468,7 +468,7 @@ mount_info::create_root_entry (const PWCHAR root) +@@ -490,7 +490,7 @@ mount_info::create_root_entry (const PWCHAR root) /* Create a default root dir derived from the location of the Cygwin DLL. The entry is immutable, unless the "override" option is given in /etc/fstab. */ char native_root[PATH_MAX]; @@ -382,7 +424,7 @@ index 22d7b31..2336949 100644 assert (*native_root != '\0'); if (add_item (native_root, "/", MOUNT_SYSTEM | MOUNT_IMMUTABLE | MOUNT_AUTOMATIC | MOUNT_NOACL) -@@ -846,7 +846,7 @@ mount_info::conv_to_posix_path (PWCHAR src_path, char *posix_path, +@@ -877,7 +877,7 @@ mount_info::conv_to_posix_path (PWCHAR src_path, char *posix_path, } tmp_pathbuf tp; char *buf = tp.c_get (); @@ -391,7 +433,7 @@ index 22d7b31..2336949 100644 int ret = conv_to_posix_path (buf, posix_path, ccp_flags); if (changed) src_path[0] = L'C'; -@@ -1177,7 +1177,7 @@ mount_info::from_fstab_line (char *line, bool user) +@@ -1211,7 +1211,7 @@ mount_info::from_fstab_line (char *line, bool user) { tmp_pathbuf tp; char *mb_tmp = tp.c_get (); @@ -401,10 +443,10 @@ index 22d7b31..2336949 100644 mount_flags |= MOUNT_USER_TEMP; int res = mount_table->add_item (mb_tmp, posix_path, mount_flags); diff --git a/winsup/cygwin/nlsfuncs.cc b/winsup/cygwin/nlsfuncs.cc -index a518d2b..6cf2739 100644 +index ddd85be..f34e0b2 100644 --- a/winsup/cygwin/nlsfuncs.cc +++ b/winsup/cygwin/nlsfuncs.cc -@@ -1606,7 +1606,7 @@ internal_setlocale () +@@ -1596,7 +1596,7 @@ internal_setlocale () if (w_path) { char *c_path = tp.c_get (); @@ -414,7 +456,7 @@ index a518d2b..6cf2739 100644 } } diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc -index 9a3ad7a..2e71602 100644 +index c0b85c0..1b9eff6 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -621,7 +621,8 @@ path_conv::check (const UNICODE_STRING *src, unsigned opt, @@ -465,7 +507,7 @@ index 9a3ad7a..2e71602 100644 spath, pffei->EaValueLength); path_flags |= PATH_SYMLINK; } -@@ -4115,7 +4116,7 @@ cygwin_conv_path (cygwin_conv_path_t what, const void *from, void *to, +@@ -4119,7 +4120,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 (); @@ -474,7 +516,7 @@ index 9a3ad7a..2e71602 100644 up->Buffer, up->Length / sizeof (WCHAR)); /* Convert native path to standard DOS path. */ if (!strncmp (buf, "\\??\\", 4)) -@@ -4128,11 +4129,11 @@ cygwin_conv_path (cygwin_conv_path_t what, const void *from, void *to, +@@ -4132,11 +4133,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. */ @@ -488,7 +530,7 @@ index 9a3ad7a..2e71602 100644 up->Buffer, up->Length / sizeof (WCHAR)); } lsiz = strlen (buf) + 1; -@@ -4506,8 +4507,8 @@ cygwin_conv_path_list (cygwin_conv_path_t what, const void *from, void *to, +@@ -4446,8 +4447,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: @@ -499,7 +541,7 @@ index 9a3ad7a..2e71602 100644 return -1; what = (what & ~CCP_CONVTYPE_MASK) | CCP_WIN_A_TO_POSIX; from = (const void *) winp; -@@ -5476,9 +5477,9 @@ cwdstuff::get_error_desc () const +@@ -5311,9 +5312,9 @@ cwdstuff::get_error_desc () const void cwdstuff::reset_posix (wchar_t *w_cwd) { @@ -511,7 +553,7 @@ index 9a3ad7a..2e71602 100644 } char * -@@ -5503,7 +5504,7 @@ cwdstuff::get (char *buf, int need_posix, int with_chroot, unsigned ulen) +@@ -5338,7 +5339,7 @@ cwdstuff::get (char *buf, int need_posix, int with_chroot, unsigned ulen) if (!need_posix) { tocopy = tp.c_get (); @@ -521,10 +563,10 @@ index 9a3ad7a..2e71602 100644 } else diff --git a/winsup/cygwin/uinfo.cc b/winsup/cygwin/uinfo.cc -index 5736ffb..1b5e925 100644 +index 9bbcf1c..d842b80 100644 --- a/winsup/cygwin/uinfo.cc +++ b/winsup/cygwin/uinfo.cc -@@ -416,12 +416,12 @@ cygheap_user::ontherange (homebodies what, struct passwd *pw) +@@ -385,12 +385,12 @@ cygheap_user::ontherange (homebodies what, struct passwd *pw) { if (ui->usri3_home_dir_drive && *ui->usri3_home_dir_drive) { @@ -539,7 +581,7 @@ index 5736ffb..1b5e925 100644 ui->usri3_home_dir); } if (ui) -@@ -431,7 +431,7 @@ cygheap_user::ontherange (homebodies what, struct passwd *pw) +@@ -400,7 +400,7 @@ cygheap_user::ontherange (homebodies what, struct passwd *pw) if (!homepath_env_buf[0] && get_user_profile_directory (get_windows_id (win_id), profile, MAX_PATH)) @@ -548,7 +590,7 @@ index 5736ffb..1b5e925 100644 /* Last fallback: Cygwin root dir. */ if (!homepath_env_buf[0]) cygwin_conv_path (CCP_POSIX_TO_WIN_A | CCP_ABSOLUTE, -@@ -978,7 +978,7 @@ fetch_from_path (cyg_ldap *pldap, PUSER_INFO_3 ui, cygpsid &sid, PCWSTR str, +@@ -917,7 +917,7 @@ fetch_from_path (cyg_ldap *pldap, PUSER_INFO_3 ui, cygpsid &sid, PCWSTR str, } } *w = L'\0'; @@ -557,7 +599,7 @@ index 5736ffb..1b5e925 100644 return ret; } -@@ -1004,7 +1004,7 @@ cygheap_pwdgrp::get_home (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, +@@ -943,7 +943,7 @@ cygheap_pwdgrp::get_home (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, { val = pldap->get_string_attribute (L"cygwinHome"); if (val && *val) @@ -566,7 +608,7 @@ index 5736ffb..1b5e925 100644 } break; case NSS_SCHEME_UNIX: -@@ -1012,7 +1012,7 @@ cygheap_pwdgrp::get_home (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, +@@ -951,7 +951,7 @@ cygheap_pwdgrp::get_home (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, { val = pldap->get_string_attribute (L"unixHomeDirectory"); if (val && *val) @@ -575,7 +617,7 @@ index 5736ffb..1b5e925 100644 } break; case NSS_SCHEME_DESC: -@@ -1037,7 +1037,7 @@ cygheap_pwdgrp::get_home (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, +@@ -976,7 +976,7 @@ cygheap_pwdgrp::get_home (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, home = (char *) cygwin_create_path (CCP_WIN_W_TO_POSIX, val); else @@ -584,7 +626,7 @@ index 5736ffb..1b5e925 100644 } } break; -@@ -1098,7 +1098,7 @@ cygheap_pwdgrp::get_shell (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, +@@ -1037,7 +1037,7 @@ cygheap_pwdgrp::get_shell (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, { val = pldap->get_string_attribute (L"cygwinShell"); if (val && *val) @@ -593,7 +635,7 @@ index 5736ffb..1b5e925 100644 } break; case NSS_SCHEME_UNIX: -@@ -1106,7 +1106,7 @@ cygheap_pwdgrp::get_shell (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, +@@ -1045,7 +1045,7 @@ cygheap_pwdgrp::get_shell (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, { val = pldap->get_string_attribute (L"loginShell"); if (val && *val) @@ -602,7 +644,7 @@ index 5736ffb..1b5e925 100644 } break; case NSS_SCHEME_DESC: -@@ -1131,7 +1131,7 @@ cygheap_pwdgrp::get_shell (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, +@@ -1070,7 +1070,7 @@ cygheap_pwdgrp::get_shell (cyg_ldap *pldap, cygpsid &sid, PCWSTR dom, shell = (char *) cygwin_create_path (CCP_WIN_W_TO_POSIX, val); else @@ -611,45 +653,3 @@ index 5736ffb..1b5e925 100644 } } break; -diff --git a/winsup/cygwin/wchar.h b/winsup/cygwin/wchar.h -index 4291905..d7c927d 100644 ---- a/winsup/cygwin/wchar.h -+++ b/winsup/cygwin/wchar.h -@@ -51,29 +51,29 @@ extern size_t _sys_wcstombs_alloc (char **dst_p, int type, const wchar_t *src, - size_t nwc, bool is_path); - - static inline size_t --sys_wcstombs (char *dst, size_t len, const wchar_t * src, -- size_t nwc = (size_t) -1) -+sys_wcstombs_path (char *dst, size_t len, const wchar_t * src, -+ size_t nwc = (size_t) -1) - { - return _sys_wcstombs (dst, len, src, nwc, true); - } - - static inline size_t --sys_wcstombs_no_path (char *dst, size_t len, const wchar_t * src, -- size_t nwc = (size_t) -1) -+sys_wcstombs (char *dst, size_t len, const wchar_t * src, -+ size_t nwc = (size_t) -1) - { - return _sys_wcstombs (dst, len, src, nwc, false); - } - - static inline size_t --sys_wcstombs_alloc (char **dst_p, int type, const wchar_t *src, -- size_t nwc = (size_t) -1) -+sys_wcstombs_alloc_path (char **dst_p, int type, const wchar_t *src, -+ size_t nwc = (size_t) -1) - { - return _sys_wcstombs_alloc (dst_p, type, src, nwc, true); - } - - static inline size_t --sys_wcstombs_alloc_no_path (char **dst_p, int type, const wchar_t *src, -- size_t nwc = (size_t) -1) -+sys_wcstombs_alloc (char **dst_p, int type, const wchar_t *src, -+ size_t nwc = (size_t) -1) - { - return _sys_wcstombs_alloc (dst_p, type, src, nwc, false); - } diff --git a/msys2-runtime/0057-Use-MB_CUR_MAX-6-by-default.patch b/msys2-runtime/0057-Use-MB_CUR_MAX-6-by-default.patch index 29f33b757a8..9e7dfb1442c 100644 --- a/msys2-runtime/0057-Use-MB_CUR_MAX-6-by-default.patch +++ b/msys2-runtime/0057-Use-MB_CUR_MAX-6-by-default.patch @@ -1,4 +1,4 @@ -From d6849e0baa7ad9a130d73a7941b34f5f0b953c9a Mon Sep 17 00:00:00 2001 +From 552263b0ba37f2ec2106a6a77b8aba8d13b4598d Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Thu, 21 Nov 2019 14:21:01 +0100 Subject: [PATCH 57/N] Use MB_CUR_MAX == 6 by default @@ -19,7 +19,7 @@ Signed-off-by: Johannes Schindelin 1 file changed, 5 insertions(+) diff --git a/newlib/libc/locale/lctype.c b/newlib/libc/locale/lctype.c -index 6446697..6aa4364 100644 +index a07ab68..3f118e9 100644 --- a/newlib/libc/locale/lctype.c +++ b/newlib/libc/locale/lctype.c @@ -25,7 +25,12 @@ diff --git a/msys2-runtime/0058-Change-the-default-base-address-for-x86_64.patch b/msys2-runtime/0058-Change-the-default-base-address-for-x86_64.patch index f8f70cda2aa..b410fb96c9e 100644 --- a/msys2-runtime/0058-Change-the-default-base-address-for-x86_64.patch +++ b/msys2-runtime/0058-Change-the-default-base-address-for-x86_64.patch @@ -1,4 +1,4 @@ -From 1fbb6ee0c1c31980788d8fefd52ebe2d9f126a9d Mon Sep 17 00:00:00 2001 +From 3d6e23639244455bcd72ebfeba5f7bda4bcac19d 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 58/N] Change the default base address for x86_64 @@ -28,16 +28,16 @@ but the code is failing in some way or other... Signed-off-by: Johannes Schindelin Signed-off-by: Mikael Larsson <95430516+chirpnot@users.noreply.github.com> --- - winsup/cygwin/x86_64.din | 2 +- + winsup/cygwin/cygwin.din | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/winsup/cygwin/x86_64.din b/winsup/cygwin/x86_64.din -index 38332c7..d83b315 100644 ---- a/winsup/cygwin/x86_64.din -+++ b/winsup/cygwin/x86_64.din +diff --git a/winsup/cygwin/cygwin.din b/winsup/cygwin/cygwin.din +index ebca74d..a2a4406 100644 +--- a/winsup/cygwin/cygwin.din ++++ b/winsup/cygwin/cygwin.din @@ -1,4 +1,4 @@ -LIBRARY "msys-2.0.dll" BASE=0x180040000 +LIBRARY "msys-2.0.dll" BASE=0x210040000 EXPORTS - #Exported variables + # Exported variables diff --git a/msys2-runtime/0059-Avoid-sharing-cygheaps-across-Cygwin-versions.patch b/msys2-runtime/0059-Avoid-sharing-cygheaps-across-Cygwin-versions.patch index f31f624b52a..ba7fc49d139 100644 --- a/msys2-runtime/0059-Avoid-sharing-cygheaps-across-Cygwin-versions.patch +++ b/msys2-runtime/0059-Avoid-sharing-cygheaps-across-Cygwin-versions.patch @@ -1,4 +1,4 @@ -From 65ce633af3e55721eec16ae53a3100092d9de406 Mon Sep 17 00:00:00 2001 +From 53c11c566b3a7534adaacaadee8c545d0738d33a Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 30 Jan 2023 23:22:22 +0100 Subject: [PATCH 59/N] Avoid sharing cygheaps across Cygwin versions @@ -16,6 +16,12 @@ that a command was not found). Let's just treat these as completely incompatible with one another, by virtue of using a different `CHILD_INFO_MAGIC` constant. +Let's take the msys2-runtime commit as the tell-tale whether two MSYS2 +runtime versions are compatible with each other. To support building in +the MSYS2-packages repository (where we do not check out the +`msys2-runtime` but instead check out Cygwin and apply patches on top), +let's accept a hard-coded commit hash as `./configure` option. + One consequence is that spawned MSYS processes using a different MSYS2 runtime will not be visible as such to the parent process, i.e. they cannot share any resources such as pseudo terminals. But that's okay, @@ -26,35 +32,96 @@ different versions of Git for Windows lead to those infamous `cygheap base mismatch detected` problems mentioned e.g. in https://github.com/git-for-windows/git/issues/4255 +Note: We have to use a very rare form of encoding the brackets in the +`expr` calls: quadrigraphs (for a thorough explanation, see +https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.70/html_node/Quadrigraphs.html#Quadrigraphs). +This is necessary because it is apparently impossible in `configure.ac` +files to encode brackets otherwise. + Signed-off-by: Johannes Schindelin --- - winsup/cygwin/dcrt0.cc | 2 +- - winsup/cygwin/sigproc.cc | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) + winsup/configure.ac | 28 ++++++++++++++++++++++++++++ + winsup/cygwin/Makefile.am | 3 +++ + winsup/cygwin/dcrt0.cc | 2 +- + winsup/cygwin/sigproc.cc | 2 +- + 4 files changed, 33 insertions(+), 2 deletions(-) +diff --git a/winsup/configure.ac b/winsup/configure.ac +index 86f168a..58af4d3 100644 +--- a/winsup/configure.ac ++++ b/winsup/configure.ac +@@ -57,6 +57,34 @@ AC_CHECK_TOOL(RANLIB, ranlib, ranlib) + AC_CHECK_TOOL(STRIP, strip, strip) + AC_CHECK_TOOL(WINDRES, windres, windres) + ++# Record msys2-runtime commit ++AC_ARG_WITH([msys2-runtime-commit], ++ [AS_HELP_STRING([--with-msys2-runtime-commit=COMMIT], ++ [indicate the msys2-runtime commit corresponding to this build])], ++ [MSYS2_RUNTIME_COMMIT=$withval], [MSYS2_RUNTIME_COMMIT=yes]) ++case "$MSYS2_RUNTIME_COMMIT" in ++no) ++ MSYS2_RUNTIME_COMMIT= ++ MSYS2_RUNTIME_COMMIT_HEX=0 ++ ;; ++yes|auto) ++ if MSYS2_RUNTIME_COMMIT="$(git --git-dir="$srcdir/../.git" rev-parse HEAD)" ++ then ++ MSYS2_RUNTIME_COMMIT_HEX="0x$(expr "$MSYS2_RUNTIME_COMMIT" : '\(.\{,8\}\)')ull" ++ else ++ AC_MSG_WARN([Could not determine msys2-runtime commit"]) ++ MSYS2_RUNTIME_COMMIT= ++ MSYS2_RUNTIME_COMMIT_HEX=0 ++ fi ++ ;; ++*) ++ expr "$MSYS2_RUNTIME_COMMIT" : '@<:@0-9a-f@:>@\{6,64\}$' || ++ AC_MSG_ERROR([Invalid commit name: "$MSYS2_RUNTIME_COMMIT"]) ++ MSYS2_RUNTIME_COMMIT_HEX="0x$(expr "$MSYS2_RUNTIME_COMMIT" : '\(.\{,8\}\)')ull" ++ ;; ++esac ++AC_SUBST(MSYS2_RUNTIME_COMMIT_HEX) ++ + AC_ARG_ENABLE(debugging, + [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 ec782dc..038ae5a 100644 +--- a/winsup/cygwin/Makefile.am ++++ b/winsup/cygwin/Makefile.am +@@ -17,6 +17,9 @@ if TARGET_X86_64 + COMMON_CFLAGS+=-mcmodel=small + endif + ++VERSION_CFLAGS = -DMSYS2_RUNTIME_COMMIT_HEX="@MSYS2_RUNTIME_COMMIT_HEX@" ++COMMON_CFLAGS += $(VERSION_CFLAGS) ++ + AM_CFLAGS=$(cflags_common) $(COMMON_CFLAGS) + AM_CXXFLAGS=$(cxxflags_common) $(COMMON_CFLAGS) -fno-threadsafe-statics + diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc -index e32f02b..45f3b0f 100644 +index 1675a9b..a577832 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc -@@ -545,7 +545,7 @@ get_cygwin_startup_info () +@@ -530,7 +530,7 @@ get_cygwin_startup_info () child_info *res = (child_info *) si.lpReserved2; if (si.cbReserved2 < EXEC_MAGIC_SIZE || !res - || res->intro != PROC_MAGIC_GENERIC || res->magic != CHILD_INFO_MAGIC) -+ || res->intro != PROC_MAGIC_GENERIC || res->magic != (CHILD_INFO_MAGIC ^ CYGWIN_VERSION_DLL_COMBINED)) ++ || res->intro != PROC_MAGIC_GENERIC || res->magic != (CHILD_INFO_MAGIC ^ MSYS2_RUNTIME_COMMIT_HEX)) { strace.activate (false); res = NULL; diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc -index fbb1f0e..65dc523 100644 +index fd3291c..3d3f38f 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc -@@ -817,7 +817,7 @@ int child_info::retry_count = 0; - by fork/spawn/exec. */ +@@ -811,7 +811,7 @@ int child_info::retry_count = 0; child_info::child_info (unsigned in_cb, child_info_types chtype, bool need_subproc_ready): -- cb (in_cb), intro (PROC_MAGIC_GENERIC), magic (CHILD_INFO_MAGIC), -+ cb (in_cb), intro (PROC_MAGIC_GENERIC), magic (CHILD_INFO_MAGIC ^ CYGWIN_VERSION_DLL_COMBINED), - type (chtype), cygheap (::cygheap), cygheap_max (::cygheap_max), - flag (0), retry (child_info::retry_count), rd_proc_pipe (NULL), - wr_proc_pipe (NULL), sigmask (_my_tls.sigmask) + msv_count (0), cb (in_cb), intro (PROC_MAGIC_GENERIC), +- magic (CHILD_INFO_MAGIC), type (chtype), cygheap (::cygheap), ++ magic (CHILD_INFO_MAGIC ^ MSYS2_RUNTIME_COMMIT_HEX), type (chtype), cygheap (::cygheap), + cygheap_max (::cygheap_max), flag (0), retry (child_info::retry_count), + rd_proc_pipe (NULL), wr_proc_pipe (NULL), sigmask (_my_tls.sigmask) + { diff --git a/msys2-runtime/0063-uname-report-msys2-runtime-commit-hash-too.patch b/msys2-runtime/0060-uname-report-msys2-runtime-commit-hash-too.patch similarity index 64% rename from msys2-runtime/0063-uname-report-msys2-runtime-commit-hash-too.patch rename to msys2-runtime/0060-uname-report-msys2-runtime-commit-hash-too.patch index ebe95cc4b81..cc0b00c0c4d 100644 --- a/msys2-runtime/0063-uname-report-msys2-runtime-commit-hash-too.patch +++ b/msys2-runtime/0060-uname-report-msys2-runtime-commit-hash-too.patch @@ -1,7 +1,7 @@ -From bec3d608e863dc48f447bd365448ea4274cc3ce6 Mon Sep 17 00:00:00 2001 +From ca20b5d7f326795eb35960b1bd6af622a2d2d897 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Tue, 21 Feb 2023 16:36:36 +0100 -Subject: [PATCH 63/N] uname: report msys2-runtime commit hash, too +Subject: [PATCH 60/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 @@ -10,14 +10,14 @@ released. Signed-off-by: Johannes Schindelin --- - winsup/configure.ac | 10 ++++++++-- - winsup/cygwin/Makefile.am | 6 ++++-- - winsup/cygwin/mkvers.sh | 8 ++++++++ - winsup/cygwin/uname.cc | 3 ++- - 4 files changed, 22 insertions(+), 5 deletions(-) + winsup/configure.ac | 10 ++++++++-- + winsup/cygwin/Makefile.am | 6 ++++-- + winsup/cygwin/scripts/mkvers.sh | 8 ++++++++ + winsup/cygwin/uname.cc | 8 +++++--- + 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/winsup/configure.ac b/winsup/configure.ac -index cfb0bbf..ace0126 100644 +index 58af4d3..e0f472f 100644 --- a/winsup/configure.ac +++ b/winsup/configure.ac @@ -65,24 +65,30 @@ AC_ARG_WITH([msys2-runtime-commit], @@ -54,7 +54,7 @@ index cfb0bbf..ace0126 100644 AC_ARG_ENABLE(debugging, diff --git a/winsup/cygwin/Makefile.am b/winsup/cygwin/Makefile.am -index 695ebeb..58551de 100644 +index 038ae5a..a7607b0 100644 --- a/winsup/cygwin/Makefile.am +++ b/winsup/cygwin/Makefile.am @@ -17,7 +17,9 @@ if TARGET_X86_64 @@ -68,8 +68,8 @@ index 695ebeb..58551de 100644 COMMON_CFLAGS += $(VERSION_CFLAGS) AM_CFLAGS=$(cflags_common) $(COMMON_CFLAGS) -@@ -408,7 +410,7 @@ src_files := $(foreach dir,$(dirs),$(find_src_files)) - version.cc: mkvers.sh include/cygwin/version.h winver.rc $(src_files) +@@ -442,7 +444,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)";\ - /bin/sh $(word 1,$^) $(word 2,$^) $(word 3,$^) $(WINDRES) $(CFLAGS) @@ -77,10 +77,10 @@ index 695ebeb..58551de 100644 winver.o: version.cc -diff --git a/winsup/cygwin/mkvers.sh b/winsup/cygwin/mkvers.sh -index ee99dd0..54e131a 100755 ---- a/winsup/cygwin/mkvers.sh -+++ b/winsup/cygwin/mkvers.sh +diff --git a/winsup/cygwin/scripts/mkvers.sh b/winsup/cygwin/scripts/mkvers.sh +index 98826f8..60586ad 100755 +--- a/winsup/cygwin/scripts/mkvers.sh ++++ b/winsup/cygwin/scripts/mkvers.sh @@ -16,6 +16,7 @@ incfile="$1"; shift rcfile="$1"; shift windres="$1"; shift @@ -99,7 +99,7 @@ index ee99dd0..54e131a 100755 esac shift done -@@ -185,6 +189,10 @@ then +@@ -168,6 +172,10 @@ then cvs_tag="$(echo $wv_cvs_tag | sed -e 's/-branch.*//')" cygwin_ver="$cygwin_ver-$cvs_tag" fi @@ -111,19 +111,37 @@ index ee99dd0..54e131a 100755 echo "Version $cygwin_ver" set -$- $builddate diff --git a/winsup/cygwin/uname.cc b/winsup/cygwin/uname.cc -index f6a5f88..4bc5c09 100644 +index a4ac0e3..86ad36b 100644 --- a/winsup/cygwin/uname.cc +++ b/winsup/cygwin/uname.cc -@@ -64,10 +64,11 @@ uname_x (struct utsname *name) - cygwin_gethostname (buf, sizeof buf - 1); - strncat (name->nodename, buf, sizeof (name->nodename) - 1); - /* release */ -- __small_sprintf (name->release, "%d.%d.%d-%d.", -+ __small_sprintf (name->release, "%d.%d.%d-%s-%d.", +@@ -84,10 +84,11 @@ uname_x (struct utsname *name) + snprintf (name->release, _UTSNAME_LENGTH, "%s.%s", + uname_dev_version, name->machine); + else +- __small_sprintf (name->release, "%d.%d.%d-api-%d.%s", ++ __small_sprintf (name->release, "%d.%d.%d-%s-api-%d.%s", + cygwin_version.dll_major / 1000, + cygwin_version.dll_major % 1000, + cygwin_version.dll_minor, ++ MSYS2_RUNTIME_COMMIT_SHORT, + cygwin_version.api_minor, + name->machine); + #endif +@@ -129,14 +130,15 @@ uname (struct utsname *in_name) + cygwin_gethostname (name->nodename, sizeof (name->nodename) - 1); + + /* Cygwin dll release */ +- __small_sprintf (name->release, "%d.%d.%d(%d.%d/%d/%d)", ++ __small_sprintf (name->release, "%d.%d.%d(%d.%d/%d/%d/%s)", cygwin_version.dll_major / 1000, cygwin_version.dll_major % 1000, cygwin_version.dll_minor, -+ MSYS2_RUNTIME_COMMIT_SHORT, - cygwin_version.api_minor); - /* version */ - stpcpy (name->version, cygwin_version.dll_build_date); + cygwin_version.api_major, + cygwin_version.api_minor, + cygwin_version.shared_data, +- cygwin_version.mount_registry); ++ cygwin_version.mount_registry, ++ MSYS2_RUNTIME_COMMIT_SHORT); + + /* Cygwin "version" aka build date */ + strcpy (name->version, cygwin_version.dll_build_date); diff --git a/msys2-runtime/0061-Cygwin-console-Fix-hangup-of-less-on-quit-after-the-.patch b/msys2-runtime/0061-Cygwin-console-Fix-hangup-of-less-on-quit-after-the-.patch deleted file mode 100644 index f276e1f4944..00000000000 --- a/msys2-runtime/0061-Cygwin-console-Fix-hangup-of-less-on-quit-after-the-.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 4d621973362b3b1c3f9cda59f1240aeb570de78e Mon Sep 17 00:00:00 2001 -From: Takashi Yano -Date: Thu, 22 Dec 2022 20:25:22 +0900 -Subject: [PATCH 61/N] Cygwin: console: Fix hangup of less on quit after the - window is resized. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -https://cygwin.com/pipermail/cygwin/2022-December/252737.html - -If the less is started from non-cygwin shell and window size is -changed, it will hang-up when quitting. The cause of the proglem is -that less uses longjump() in signal handler. If the signal handler -is called while cygwin is acquiring the mutex, cygwin loses the -chance to release mutex. With this patch, the mutex is released -just before calling kill_pgrp() and re-acquired when kill_pgrp() -returns. - -[ma: dropped changes to release notes file from patch for backport] - -Reported-by: Gregory Mason -Signed-off-by: Takashi Yano -Signed-off-by: Matthias Aßhauer ---- - winsup/cygwin/fhandler_console.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc -index b5594a6..e3a42ac 100644 ---- a/winsup/cygwin/fhandler_console.cc -+++ b/winsup/cygwin/fhandler_console.cc -@@ -937,7 +937,11 @@ fhandler_console::send_winch_maybe () - con.scroll_region.Bottom = -1; - if (wincap.has_con_24bit_colors () && !con_is_legacy) - fix_tab_position (get_output_handle ()); -+ /* longjmp() may be called in the signal handler like less, -+ so release input_mutex temporarily before kill_pgrp(). */ -+ release_input_mutex (); - get_ttyp ()->kill_pgrp (SIGWINCH); -+ acquire_input_mutex (mutex_timeout); - return true; - } - return false; diff --git a/msys2-runtime/0062-amend-Avoid-sharing-cygheaps-across-Cygwin-versions.patch b/msys2-runtime/0062-amend-Avoid-sharing-cygheaps-across-Cygwin-versions.patch deleted file mode 100644 index 88d84e01040..00000000000 --- a/msys2-runtime/0062-amend-Avoid-sharing-cygheaps-across-Cygwin-versions.patch +++ /dev/null @@ -1,129 +0,0 @@ -From f5f594c2ff906aabdfb440d032687569231c5d98 Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Tue, 21 Feb 2023 15:21:03 +0100 -Subject: [PATCH 62/N] amend! Avoid sharing cygheaps across Cygwin versions - -Avoid sharing cygheaps across Cygwin versions - -It frequently leads to problems when trying, say, to call from Git for -Windows' Bash into Cygwin's or MSYS2's, merely because sharing that data -is pretty finicky. - -For example, using the Git for Windows that is current at time of -writing, trying to call MSYS2's Bash from Git for Windows' Bash fails -somewhere in `_cmalloc()`, without any error message, and with the -rather misleading exit code 127 (a code which is reserved to indicate -that a command was not found). - -Let's just treat these as completely incompatible with one another, by -virtue of using a different `CHILD_INFO_MAGIC` constant. - -Let's take the msys2-runtime commit as the tell-tale whether two MSYS2 -runtime versions are compatible with each other. To support building in -the MSYS2-packages repository (where we do not check out the -`msys2-runtime` but instead check out Cygwin and apply patches on top), -let's accept a hard-coded commit hash as `./configure` option. - -One consequence is that spawned MSYS processes using a different MSYS2 -runtime will not be visible as such to the parent process, i.e. they -cannot share any resources such as pseudo terminals. But that's okay, -they are simply treated as if they were regular Win32 programs. - -This should also help the scenario where interactions between two -different versions of Git for Windows lead to those infamous `cygheap -base mismatch detected` problems mentioned e.g. in -https://github.com/git-for-windows/git/issues/4255 - -Note: We have to use a very rare form of encoding the brackets in the -`expr` calls: quadrigraphs (for a thorough explanation, see -https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.70/html_node/Quadrigraphs.html#Quadrigraphs). -This is necessary because it is apparently impossible in `configure.ac` -files to encode brackets otherwise. - -Signed-off-by: Johannes Schindelin ---- - winsup/configure.ac | 28 ++++++++++++++++++++++++++++ - winsup/cygwin/Makefile.am | 3 +++ - winsup/cygwin/dcrt0.cc | 2 +- - winsup/cygwin/sigproc.cc | 2 +- - 4 files changed, 33 insertions(+), 2 deletions(-) - -diff --git a/winsup/configure.ac b/winsup/configure.ac -index ca2b8c0..cfb0bbf 100644 ---- a/winsup/configure.ac -+++ b/winsup/configure.ac -@@ -57,6 +57,34 @@ AC_CHECK_TOOL(RANLIB, ranlib, ranlib) - AC_CHECK_TOOL(STRIP, strip, strip) - AC_CHECK_TOOL(WINDRES, windres, windres) - -+# Record msys2-runtime commit -+AC_ARG_WITH([msys2-runtime-commit], -+ [AS_HELP_STRING([--with-msys2-runtime-commit=COMMIT], -+ [indicate the msys2-runtime commit corresponding to this build])], -+ [MSYS2_RUNTIME_COMMIT=$withval], [MSYS2_RUNTIME_COMMIT=yes]) -+case "$MSYS2_RUNTIME_COMMIT" in -+no) -+ MSYS2_RUNTIME_COMMIT= -+ MSYS2_RUNTIME_COMMIT_HEX=0 -+ ;; -+yes|auto) -+ if MSYS2_RUNTIME_COMMIT="$(git --git-dir="$srcdir/../.git" rev-parse HEAD)" -+ then -+ MSYS2_RUNTIME_COMMIT_HEX="0x$(expr "$MSYS2_RUNTIME_COMMIT" : '\(.\{,8\}\)')ull" -+ else -+ AC_MSG_WARN([Could not determine msys2-runtime commit"]) -+ MSYS2_RUNTIME_COMMIT= -+ MSYS2_RUNTIME_COMMIT_HEX=0 -+ fi -+ ;; -+*) -+ expr "$MSYS2_RUNTIME_COMMIT" : '@<:@0-9a-f@:>@\{6,64\}$' || -+ AC_MSG_ERROR([Invalid commit name: "$MSYS2_RUNTIME_COMMIT"]) -+ MSYS2_RUNTIME_COMMIT_HEX="0x$(expr "$MSYS2_RUNTIME_COMMIT" : '\(.\{,8\}\)')ull" -+ ;; -+esac -+AC_SUBST(MSYS2_RUNTIME_COMMIT_HEX) -+ - AC_ARG_ENABLE(debugging, - [ --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 01666e1..695ebeb 100644 ---- a/winsup/cygwin/Makefile.am -+++ b/winsup/cygwin/Makefile.am -@@ -17,6 +17,9 @@ if TARGET_X86_64 - COMMON_CFLAGS+=-mcmodel=small - endif - -+VERSION_CFLAGS = -DMSYS2_RUNTIME_COMMIT_HEX="@MSYS2_RUNTIME_COMMIT_HEX@" -+COMMON_CFLAGS += $(VERSION_CFLAGS) -+ - AM_CFLAGS=$(cflags_common) $(COMMON_CFLAGS) - AM_CXXFLAGS=$(cxxflags_common) $(COMMON_CFLAGS) -fno-threadsafe-statics - -diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc -index 45f3b0f..d354eab 100644 ---- a/winsup/cygwin/dcrt0.cc -+++ b/winsup/cygwin/dcrt0.cc -@@ -545,7 +545,7 @@ get_cygwin_startup_info () - child_info *res = (child_info *) si.lpReserved2; - - if (si.cbReserved2 < EXEC_MAGIC_SIZE || !res -- || res->intro != PROC_MAGIC_GENERIC || res->magic != (CHILD_INFO_MAGIC ^ CYGWIN_VERSION_DLL_COMBINED)) -+ || res->intro != PROC_MAGIC_GENERIC || res->magic != (CHILD_INFO_MAGIC ^ MSYS2_RUNTIME_COMMIT_HEX)) - { - strace.activate (false); - res = NULL; -diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc -index 65dc523..782c0d9 100644 ---- a/winsup/cygwin/sigproc.cc -+++ b/winsup/cygwin/sigproc.cc -@@ -817,7 +817,7 @@ int child_info::retry_count = 0; - by fork/spawn/exec. */ - child_info::child_info (unsigned in_cb, child_info_types chtype, - bool need_subproc_ready): -- cb (in_cb), intro (PROC_MAGIC_GENERIC), magic (CHILD_INFO_MAGIC ^ CYGWIN_VERSION_DLL_COMBINED), -+ cb (in_cb), intro (PROC_MAGIC_GENERIC), magic (CHILD_INFO_MAGIC ^ MSYS2_RUNTIME_COMMIT_HEX), - type (chtype), cygheap (::cygheap), cygheap_max (::cygheap_max), - flag (0), retry (child_info::retry_count), rd_proc_pipe (NULL), - wr_proc_pipe (NULL), sigmask (_my_tls.sigmask) diff --git a/msys2-runtime/PKGBUILD b/msys2-runtime/PKGBUILD index abf1696cbbc..9f90120bfac 100644 --- a/msys2-runtime/PKGBUILD +++ b/msys2-runtime/PKGBUILD @@ -3,10 +3,10 @@ pkgbase=msys2-runtime pkgname=('msys2-runtime' 'msys2-runtime-devel') -pkgver=3.3.6 -pkgrel=4 +pkgver=3.4.6 +pkgrel=1 pkgdesc="Cygwin POSIX emulation engine" -arch=('i686' 'x86_64') +arch=('x86_64') url="https://www.cygwin.com/" license=('GPL') groups=('base') @@ -22,9 +22,10 @@ makedepends=('cocom' 'zlib-devel' 'gettext-devel' 'libiconv-devel' - 'diffutils') -# options=('debug' '!strip') -source=('msys2-runtime'::git+https://github.com/cygwin/cygwin#tag=cygwin-${pkgver//./_}-release + 'autotools' + 'xmlto' + '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 @@ -33,9 +34,9 @@ source=('msys2-runtime'::git+https://github.com/cygwin/cygwin#tag=cygwin-${pkgve 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-With-.patch + 0008-Automatically-rewrite-TERM-msys-to-TERM-cygwin.patch 0009-Do-not-convert-environment-for-strace.patch - 0010-Special-case-for-converting-root-directory-to-have-t.patch + 0010-path_conv-special-case-root-directory-to-have-traili.patch 0011-dcrt0.cc-Untangle-allow_glob-from-winshell.patch 0012-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch 0013-strace.cc-Don-t-set-MSYS-noglob.patch @@ -43,30 +44,30 @@ source=('msys2-runtime'::git+https://github.com/cygwin/cygwin#tag=cygwin-${pkgve 0015-Add-debugging-for-strace-make_command_line.patch 0016-environ.cc-New-facility-environment-variable-MSYS2_E.patch 0017-Fix-native-symbolic-link-spawn-passing-wrong-arg0.patch - 0018-QueryUnbiasedInterruptTime-must-be-load-from-kernel3.patch - 0019-strace-quiet-be-really-quiet.patch - 0020-Default-to-disable_pcon.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-Do-not-show-Error-dialogs-by-default.patch - 0025-Add-a-helper-to-obtain-a-function-s-address-in-kerne.patch - 0026-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch - 0027-kill-kill-Win32-processes-more-gently.patch - 0028-Cygwin-make-option-for-native-inner-link-handling.patch - 0029-docs-skip-building-texinfo-and-PDF-files.patch - 0030-install-libs-depend-on-the-toollibs.patch - 0031-POSIX-ify-the-SHELL-variable.patch - 0032-Handle-ORIGINAL_PATH-just-like-PATH.patch - 0033-uname-allow-setting-the-system-name-to-CYGWIN.patch - 0034-Implicitly-support-the-dev-fd-symlink-and-friends.patch - 0035-Fix-incorrect-path-conversion-trailing-slash.patch - 0036-Pass-environment-variables-with-empty-values.patch - 0037-Handle-8-bit-characters-under-LOCALE-C.patch - 0038-Mention-the-extremely-useful-small_printf-function.patch - 0039-Add-a-helpful-debug-message-for-posix-to-windows-con.patch - 0040-Stop-assuming-that-there-are-no-spaces-in-POSIX-styl.patch - 0041-Avoid-unnecessary-recursion-in-find_path_start_and_t.patch + 0018-strace-quiet-be-really-quiet.patch + 0019-Introduce-the-enable_pcon-value-for-MSYS.patch + 0020-popen-call-usr-bin-sh-instead-of-bin-sh.patch + 0021-Expose-full-command-lines-to-other-Win32-processes-b.patch + 0022-Do-not-show-Error-dialogs-by-default.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-When-converting-to-a-Unix-path-avoid-double-trailing.patch + 0036-msys2_path_conv-pass-PC_NOFULL-to-path_conv.patch + 0037-Revert-Cygwin-Enable-dynamicbase-on-the-Cygwin-DLL-b.patch + 0038-dumper-avoid-linker-problem-when-libbfd-depends-on-l.patch + 0039-Stop-assuming-that-there-are-no-spaces-in-POSIX-styl.patch + 0040-Handle-8-bit-characters-under-LOCALE-C.patch + 0041-Mention-the-extremely-useful-small_printf-function.patch 0042-Leave-arguments-starting-with-a-tilde-or-quote-alone.patch 0043-Leave-Git-s-name-and-message-arguments-alone-please.patch 0044-Leave-paths-containing-any-special-characters-alone.patch @@ -85,77 +86,87 @@ source=('msys2-runtime'::git+https://github.com/cygwin/cygwin#tag=cygwin-${pkgve 0057-Use-MB_CUR_MAX-6-by-default.patch 0058-Change-the-default-base-address-for-x86_64.patch 0059-Avoid-sharing-cygheaps-across-Cygwin-versions.patch - 0060-dumper-avoid-linker-problem-when-libbfd-depends-on-l.patch - 0061-Cygwin-console-Fix-hangup-of-less-on-quit-after-the-.patch - 0062-amend-Avoid-sharing-cygheaps-across-Cygwin-versions.patch - 0063-uname-report-msys2-runtime-commit-hash-too.patch) + 0060-uname-report-msys2-runtime-commit-hash-too.patch) sha256sums=('SKIP' - 'aff4697966936746e34f3e99132df62a4b4df7d9a424d29c309262324d129930' - 'c375315e58181ee5589b7966101aa095de3f864a579c3c3f0f0683595d4e428d' - '01ea2b131cf5a3b27fdbc458019eac14e45a36782ce3ce33e62328eefcd2d02e' - '475ddea4d86605ab097f98ec764951a9d647ea3100dea0e1620f57044ea4a114' - '6775247d7a213268bbb2315f764ebc9faf9967b70a95dbc6e9de53fe04142433' - '91e2a72a980aeefadc215cd36147c56666679bbcd68c60120278b6270454b710' - '54cd198f3ce3931884220c8938bd0f348e0889c20b36d110ded9302ec7364c34' - '31a4bcb985e03c45f16644a1604ebc649dc50586968050f8819035b84f80bcf3' - 'e9cfe4d79ac294e19e648f51a8bb491231204d8eb9c6a2e998a7cc2506ca47ea' - '816e98ee5ad15d3cfb75598e2e20e11272ac6867a7bd9b0a3fea0ac0ba4daf69' - 'e895d76936f4668bb7b67581ef642e845968dfb86e21d654dde98727f0ebabb2' - 'f416f109d323618ff3d7240ea7845d5ab3221a8a6c6074e36a34e62fbaabdbfd' - 'e710a9eed8bd767d97acb2d2cdc56eef880e02b20f1b14fdf462678954e3a896' - 'ce72bc18fcf101d14c0623c1d459b141ba883934939c70d198d69932ec4873c7' - '5f5850cd725c4df6ce6cc86d07da1ed696e119d8bb80602380c4941aa10d0784' - '8df334362506dbe9de56017c0df1d3459b5c6e29860b73a5e9ebd0421b2f3a6a' - '988a2d365302c73ab482bd1f0d4edea8e687de7fdf068e5bec3aafaf33d63a58' - 'f9aa893686405b8b92b3d585b7a7dff35f9345a64a282f75d8962e92f86bea25' - 'b3073a6b2acf836f5b3286ff8be66633ed4f93280d50186635a3fcfb4cdc3745' - '52cd166461fc2cc3c880c174160516a93d456dad44f382aed518aa9bfa36303f' - 'cee973f136152e6a5cd987bba85937584c9459aff1c2777134a99526b2d5512d' - '221dacc354d4f27443665bfe32b114235ef7305c55c9189c77f636c46522ee80' - 'bd985989895e51688072d7751976ecb83720c8e0786126d7025ba355b64f6edc' - '19cf0b89327e148763d19608cffbbc29fd4309048a65ede9dff808eea4858727' - '20d35886e3bf1c2f4fa7f3996739d674fd0eb26be357268219c522c35187ec3e' - 'ff01c5404f80dd4d013316930f26063877f561c8698a1223269cf06f0df56d16' - '6c249925a88679544572fb4810119e008bb47ae2412cd261b02c786ee1c93dc4' - '3fd1c68bc249d52bb464390f2f0c5f1401882cc179f2b6f4adfb4e4b496804d9' - 'c7ab2e59d4ff4016dd3336bf34f79a71a28ba892e6b6a005b618519071496db8' - '8a2b9b9ae1d376d2868967cb64a804d1ee2f6075b9a9b2747570e3da2c816d1e' - '00096872abc028236ebec61fba79483159b88b4f8fe7217026d9371a69dd7d0f' - '611f6d4835e9c1525448dc85bb62fced7375fc13d42379d448d8e15ada0f4f4a' - 'a2eb84544c7e4ccd73d2388a80d04d4fa9e4bc26d77815d134f56ab44c4589e5' - 'a84b205133f13ed41b154198c0ea60875bddb523711e77a870954b17eb2636de' - 'e03c9cdff09e365db3e14d83985186418e0c91d5e8460f249e8c3c9f0b81a67d' - 'b21a989fe7aef52fe6714d057d315d4833e4ab9880e63a92726438b79d4fe0a5' - 'f4b982d58fe5c7ca0ca67e22e33f66f5c8ba8c33be849f8cba6e08cc831608c1' - 'd00d89d69a31656553c30eafc882e05189a05cb5512d53464dc5e15f7a475ff0' - '8c757c188db90a75ba3699c3763f82c63ce6eb63b9f92208b447b0017184db7e' - '17a8925880446195c0c3acea4170402485c757ddba50cc008684e8a7b3537e04' - '17970e7fa0d13b5afb495586265593b436a7f67f84067e6aa541c4462022cebb' - 'f055d9163c692688cd0cacbc78f55e955f64f46c42639d95f97c74bf018193c2' - '003777bb1688e76816604cbe5475cd44e377b25f437480cb71e7b87b5fa9a1ad' - '79d184396056983a6977548ea5185c6f3cc3c1ed18b8eab12ee3fca4841d5717' - 'afec773fed494dac6791f17626b543e02cdcbeef84547b7abe20e1c00876458a' - '4d2409dffbef5aa3414275a697b2a6a491442e207f982e361d4b7e2c20926c4d' - 'e618c29fa6faf550c1f6bf6c935ec6a0cf0a8f2847d7e57a5ec93ed3f96f3a06' - 'c4480507ee66b7147523a8ff7882a73023ad45967a5377c8c80f4129f0810860' - '4da0a79e1c76b91e037a87f89bfad276c65ed14d4cbc1861c44ada524d3820ec' - '999e889f2750d9daaa897dca224f9d08dd28e6829c1e5a108207814a6c3fbc24' - '9b982d19f3ee5ce66cbc2accd1966385c4588a550517ac7891f4165cf13a64c9' - '07b24bd59f9b3ade352756d1d6b4ac90763e0928c2bd09fe77e9ffd6f6d5febb' - '16970918b9f641feaa2dd703ca45040dd802cfcf80fa1905ce7cae80e61a5c6e' - 'f798f9a88c3937385a909383741e5afc2c5a6e06825b571bf42333864edc8900' - '5868415211674087674402233557fffac8b3016b3c4b3fe2141befcfd283fd38' - '14a354a4aa580e33f70bbb5bc2feae749c35f45eaffb58b877cfc688fdbd5cec' - 'c1cd7a038fd3c94bbf7f29b911af35244e3989555aae19360fcf79542f4a9ae3' - '53644afaa88f8a78c0fa521d408052052bb9ce152b0cf1ed9a39f15e047c6788' - 'd6e806768bc623a01cc29f7a47feb6da91b7bbdb49f8908a9ad2748c1ac41955' - '865bcaa5dc7275a79d732241c7e61c4c22cda537d1764227b96c9dd89a623593' - '6abfae0da52df37dcbde6eca92d66e5abd8a4e5460efc36fd7ce593fd9c9bad3' - '433685c3c366f0aa077d1230f027ed9314e7f0b1e91d4e98e6bfbaa92ed18f89' - '4b55c8fd81bdf4c552433e79fe24db7e1289ed3b99cd9c4d1272f1336b1a8b4b' - '7865ca781926f104a15fd659432b6b72462f54125c351122195b2314c6c74cf3') + '67751e4d22f6e80eedde68c7d63fcbc4b8d43a6f61728ea4105908d7e8787a3a' + 'e061d933f7ec1a6ba5a8c56cbdb9e796e3df266409893afba33d9f4f5365f000' + '52f3b36d3e420374b75af3502afb971279b70828a88fe05870fe35ccab90e2f0' + 'd1526bdea50b470fbbf5a6d5d5d7814a1bed7940d380e140153c290ead320979' + 'e8daf8e0db5d461ab8123ceabc3c7bb68745bb3ea423662c1143c04f7c15bf9f' + 'f09fc1f524b0030217840b3ee0052b1a0dfdefb28f853a892e0a945493a77675' + 'b3f2cc6e8ae2844328d45f1dcb52726727136bb5f333d91d546c9ee191521f46' + '7b8947971fafec540d0cbb87334c4908c0ab22d857163f39f3306598f7710fd1' + '857ca18800f6001f147375339396ed7fffca234a2ebcff5f3ab40ed70d003a14' + '168d9b93d8c65892d4e5a87e0c71756c529bb94b94f4d65d67cc6622e1a23b13' + '5ff8300f3085e2441059afc44ce4b15068cc34f2e1f09c31520ffdd372201165' + '7d8e0c9cb242311fb6a6357c79d05302a073c6466391503fdb89f1551958978f' + '771c3440a2567b16bade9d2970d7aab3aa8ab4b39f59da532b338642b06bfb46' + 'a43a5f9f99aac2e86ee6059f21d00d032ac80c58ee93918faf859e383b70e362' + '09643102d1c24cac95c88d8a6e8f6c5d252d81856c4aef79baa7952d7a676d2f' + 'fbb923ce97db0c64471190dfa5d6a3930a363b5b55df2f44fae3ce98ce2a7243' + '8b8713c82ad5de58256b883f694d1a224dde0d30a52eeb22f7a2783c000935c6' + 'aca7ae31c6c77f825d5259ca7c47df83580cbbc4dff10532c6446d7e4bab1d4a' + 'c8a0b212ee8613c5637a6cf3c30b0b0bd2ff49368226cbacaf540b0746bd6b9d' + '3505c35fa45eeca6a18a336c54275ba43bb265b5a96443c99a93038e8747e541' + '5dbde5d4f364faaf8db2e41f8443bd4b57ebef2b9e306ea48ced3128c83180e4' + 'e4869bdb6179637f323114ea208d816e2c56563a803428c7fadf1015e90252a1' + 'a4558b81aab181cfad0c581d48b269e265ecd5f0dc106e0962e9c3e34408fa4f' + 'fc01b33d011e04a6b8f1b9c0d08aaeac9376ed0b442033afe631b42201658877' + 'dd5d5d15f7cadf12c8473b69e5819e5521be915525f2852ab5e1e0a5b3add8fa' + '51d946cef11b6242f79e21301bc98ca609a54a7dad1ed978751958c4f1949c81' + '45f81ef15a35e6902c07bea120daca7de5380b010abaface7fbdd2957debb63e' + 'd2ffdcb224ac8a03644b562370007ebafdca149d200f620dd1012ff64df138ec' + '3879d7895a79c230b544a6803677c54e7d170601af20b21e39366abdd2b979d9' + 'e596cca83c3693f88a792450cebd98c91aa5acceb5dbc123d7dc8953b77b4253' + '1e8e97b3fb7e44225b41da7a23f2d0ceb15c4284bf58c62b650f01b4c088df92' + '236755453a0538687c3cde6d90db4b8605bc11d8df6274a7ffd0a7fcb77a6434' + '56df2a514a2c4d179ad4d5a26e752793b729de1d73d4cfd89a4b16bbe4191bb9' + '239145da9a1b1e5a8203b4aab7b6bbd8100c90e976c6340fd8239432ce7eae1d' + '381232e5d08ef918df245036a956c0cb2cf764d1ff3033bcd4f8b3e66e256a16' + '70b2ede5a2c01b68efb25d3907257a10fad1134a98f6d746f3f907e4c2a3df0c' + '1965d4f68d3469812fea98f8ff33618a1340b5a4da808228c4e3c4a606e70a49' + '0e5eb6c16e10adcf85c86478614dcaace23ea4a85d6b5dab404b8973c0abd7c7' + 'a6364d50b4afdd27e54708f6475588d9146885e0d27c3fe2cbfcb0710958f2df' + '82692ce01d0ff92b265cbb6803cdcfb1d6613587d0b73521776156da3e4be411' + '2b62c321cdf673fb38fdcf442eaf7cdd3783ceb3d7100f53d5ec7dbe7516bc27' + 'ecadc424bee57a0a3de275cea1682814d9d4e80cbdb0877fff7a2a76598a0d15' + '52af1951ae0fb9d9eb3ea457d0fae15e9dd6f164c7a1633f79107d0b579e4565' + 'fd79bc01256bd0f5ab7c6660f78f110efb18d71ef34b17c45a9bf13dede42541' + 'c2399b0378ca01fa741a8187afb306855b4e35623a0e996bbfba7915a7394fd7' + '150d89cb11ee8ff0167d06ac84a2e25ce8939341f2b8031fcfccf34a0e1f7124' + 'f5ce9d9bd4e8312e58abf3708bd8f200270881334fce9106e42330fee5e36edc' + 'a1ffa33c930b9a0b505c5e1004d8b5e973029129195d8b5f2c4ebd7659525963' + '2400a19059ff932db89c1475876ad2d59a1f423d497f4e4a65b45de00fa43b48' + '144c29a963a93ae20a3fde79b4c96824f122d11617534551a6b3efb25cad14d9' + 'a7960077c3d47ec76f94e0f38d775f92d5777385a1320121c3fcc014a0caabbe' + 'c52518df7fe713a5bb0745cb7a308f4891f998ba9f5c4d492e43075a25bf7514' + '4c51563273a30f1ca57a6d10fc34da985af75de6fd8dfd432ef3321fd762469c' + 'b81376d2f8a1f29b750efcc2dc9ef4d531c91f6ec1394fde7b3e67fa3d1a2ab3' + '23c75cf56469b76a366bfcdcffd22ed83b045ff66dfe930df3cfd65d2872b5b7' + 'aa125ce529b357f5f928679ad23467d63ecc2f4484c11b25ca0d58db42726a18' + '6956726bd69e0bab034442c5191b3da402cefadfbf4a101993341f508e812935' + '0dd0b9dc3d24e6556c5f6c758a3157405ae2a75b3760fab92acc3b183151bb50' + '6e6c217266559b46cd41e60b6cbe8f87a6166c7ea51d8c07241974c504c9ec15' + '7512fc55bbb0bc6c111ce05aa90269eb4423de8092a063be4009404967b1c6bd' + '77f4b172f0e3aee99e1c2da966efffa2e5440ef91e8374a53c488923baac1751') + +# Helper macros to help make tasks easier # +apply_patch_with_msg() { + for _patch in "$@" + do + msg2 "Applying $_patch" + patch -Nbp1 -i "${srcdir}/${_patch}" + done +} + +apply_git_am_with_msg() { + for _patch in "$@" + do + msg2 "Applying $_patch" + git apply "${srcdir}/${_patch}" + done +} -# Helper macro to help make tasks easier # del_file_exists() { for _fname in "$@" do @@ -164,6 +175,7 @@ del_file_exists() { fi done } +# =========================================== # prepare() { cd "${srcdir}"/msys2-runtime @@ -180,69 +192,66 @@ prepare() { fi del_file_exists winsup/cygwin/msys2_path_conv.cc \ winsup/cygwin/msys2_path_conv.h - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0001-Add-MSYS2-triplet.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0002-Fix-msys-library-name-in-import-libraries.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0003-Rename-dll-from-cygwin-to-msys.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0004-Add-functionality-for-converting-UNIX-paths-in-argum.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0005-Add-functionality-for-changing-OS-name-via-MSYSTEM-e.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0006-Move-root-to-usr.-Change-sorting-mount-points.-By-de.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0007-Instead-of-creating-Cygwin-symlinks-use-deep-copy-by.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0008-Automatically-rewrite-TERM-msys-to-TERM-cygwin-With-.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0009-Do-not-convert-environment-for-strace.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0010-Special-case-for-converting-root-directory-to-have-t.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0011-dcrt0.cc-Untangle-allow_glob-from-winshell.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0012-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0013-strace.cc-Don-t-set-MSYS-noglob.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0014-Add-debugging-for-build_argv.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0015-Add-debugging-for-strace-make_command_line.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0016-environ.cc-New-facility-environment-variable-MSYS2_E.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0017-Fix-native-symbolic-link-spawn-passing-wrong-arg0.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0018-QueryUnbiasedInterruptTime-must-be-load-from-kernel3.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0019-strace-quiet-be-really-quiet.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0020-Default-to-disable_pcon.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0021-Introduce-the-enable_pcon-value-for-MSYS.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0022-popen-call-usr-bin-sh-instead-of-bin-sh.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0023-Expose-full-command-lines-to-other-Win32-processes-b.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0024-Do-not-show-Error-dialogs-by-default.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0025-Add-a-helper-to-obtain-a-function-s-address-in-kerne.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0026-Emulate-GenerateConsoleCtrlEvent-upon-Ctrl-C.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0027-kill-kill-Win32-processes-more-gently.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0028-Cygwin-make-option-for-native-inner-link-handling.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0029-docs-skip-building-texinfo-and-PDF-files.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0030-install-libs-depend-on-the-toollibs.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0031-POSIX-ify-the-SHELL-variable.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0032-Handle-ORIGINAL_PATH-just-like-PATH.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0033-uname-allow-setting-the-system-name-to-CYGWIN.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0034-Implicitly-support-the-dev-fd-symlink-and-friends.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0035-Fix-incorrect-path-conversion-trailing-slash.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0036-Pass-environment-variables-with-empty-values.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0037-Handle-8-bit-characters-under-LOCALE-C.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0038-Mention-the-extremely-useful-small_printf-function.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0039-Add-a-helpful-debug-message-for-posix-to-windows-con.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0040-Stop-assuming-that-there-are-no-spaces-in-POSIX-styl.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0041-Avoid-unnecessary-recursion-in-find_path_start_and_t.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0042-Leave-arguments-starting-with-a-tilde-or-quote-alone.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0043-Leave-Git-s-name-and-message-arguments-alone-please.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0044-Leave-paths-containing-any-special-characters-alone.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0045-Leave-paths-containing-alone.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0046-Skip-posix-to-windows-conversion-when-is-seen.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0047-Also-leave-Git-s-rev-.-name-syntax-alone.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0048-Arguments-starting-with-are-no-paths.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0049-Prevent-scp-style-arguments-from-being-mangled.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0050-Fixed-path-converting-with-non-ascii-char.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0051-path-conversion-Introduce-ability-to-switch-off-conv.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0052-Allow-overriding-the-home-directory-via-the-HOME-var.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0053-Respect-db_home-setting-even-for-the-SYSTEM-account.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0054-Respect-the-db_home-env-setting-under-more-circumsta.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0055-Allow-native-symlinks-to-non-existing-targets-in-nat.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0056-Make-paths-WCS-MBS-conversion-explicit.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0057-Use-MB_CUR_MAX-6-by-default.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0058-Change-the-default-base-address-for-x86_64.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0059-Avoid-sharing-cygheaps-across-Cygwin-versions.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0060-dumper-avoid-linker-problem-when-libbfd-depends-on-l.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0061-Cygwin-console-Fix-hangup-of-less-on-quit-after-the-.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0062-amend-Avoid-sharing-cygheaps-across-Cygwin-versions.patch - git am --committer-date-is-author-date --ignore-space-change "${srcdir}"/0063-uname-report-msys2-runtime-commit-hash-too.patch + 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-path_conv-special-case-root-directory-to-have-traili.patch \ + 0011-dcrt0.cc-Untangle-allow_glob-from-winshell.patch \ + 0012-dcrt0.cc-globify-Don-t-quote-literal-strings-differe.patch \ + 0013-strace.cc-Don-t-set-MSYS-noglob.patch \ + 0014-Add-debugging-for-build_argv.patch \ + 0015-Add-debugging-for-strace-make_command_line.patch \ + 0016-environ.cc-New-facility-environment-variable-MSYS2_E.patch \ + 0017-Fix-native-symbolic-link-spawn-passing-wrong-arg0.patch \ + 0018-strace-quiet-be-really-quiet.patch \ + 0019-Introduce-the-enable_pcon-value-for-MSYS.patch \ + 0020-popen-call-usr-bin-sh-instead-of-bin-sh.patch \ + 0021-Expose-full-command-lines-to-other-Win32-processes-b.patch \ + 0022-Do-not-show-Error-dialogs-by-default.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-When-converting-to-a-Unix-path-avoid-double-trailing.patch \ + 0036-msys2_path_conv-pass-PC_NOFULL-to-path_conv.patch \ + 0037-Revert-Cygwin-Enable-dynamicbase-on-the-Cygwin-DLL-b.patch \ + 0038-dumper-avoid-linker-problem-when-libbfd-depends-on-l.patch \ + 0039-Stop-assuming-that-there-are-no-spaces-in-POSIX-styl.patch \ + 0040-Handle-8-bit-characters-under-LOCALE-C.patch \ + 0041-Mention-the-extremely-useful-small_printf-function.patch \ + 0042-Leave-arguments-starting-with-a-tilde-or-quote-alone.patch \ + 0043-Leave-Git-s-name-and-message-arguments-alone-please.patch \ + 0044-Leave-paths-containing-any-special-characters-alone.patch \ + 0045-Leave-paths-containing-alone.patch \ + 0046-Skip-posix-to-windows-conversion-when-is-seen.patch \ + 0047-Also-leave-Git-s-rev-.-name-syntax-alone.patch \ + 0048-Arguments-starting-with-are-no-paths.patch \ + 0049-Prevent-scp-style-arguments-from-being-mangled.patch \ + 0050-Fixed-path-converting-with-non-ascii-char.patch \ + 0051-path-conversion-Introduce-ability-to-switch-off-conv.patch \ + 0052-Allow-overriding-the-home-directory-via-the-HOME-var.patch \ + 0053-Respect-db_home-setting-even-for-the-SYSTEM-account.patch \ + 0054-Respect-the-db_home-env-setting-under-more-circumsta.patch \ + 0055-Allow-native-symlinks-to-non-existing-targets-in-nat.patch \ + 0056-Make-paths-WCS-MBS-conversion-explicit.patch \ + 0057-Use-MB_CUR_MAX-6-by-default.patch \ + 0058-Change-the-default-base-address-for-x86_64.patch \ + 0059-Avoid-sharing-cygheaps-across-Cygwin-versions.patch \ + 0060-uname-report-msys2-runtime-commit-hash-too.patch } build() { @@ -262,6 +271,9 @@ build() { CFLAGS="$OPTIM -pipe -ggdb -Wno-error=deprecated -Wno-error=stringop-truncation -Wno-error=missing-attributes -Wno-error=maybe-uninitialized" #-Wno-error=class-memaccess CXXFLAGS="$OPTIM -pipe -ggdb -Wno-error=deprecated -Wno-error=stringop-truncation -Wno-error=missing-attributes -Wno-error=maybe-uninitialized" #-Wno-error=class-memaccess + # otherwise it asks git which appends "-dirty" because of our uncommited patches + CFLAGS+=" -DCYGPORT_RELEASE_INFO=${pkgver}" + (cd "${srcdir}/msys2-runtime/winsup" && ./autogen.sh) "${srcdir}"/msys2-runtime/configure \ @@ -275,7 +287,7 @@ build() { if test -n "$SIGNTOOL" then eval "$SIGNTOOL" \ - ${PWD}/${CHOST}/winsup/cygwin/msys0.dll \ + ${PWD}/${CHOST}/winsup/cygwin/new-msys-2.0.dll \ ${PWD}/${CHOST}/winsup/utils/*.exe ${PWD}/${CHOST}/winsup/utils/mingw/*.exe fi @@ -292,19 +304,16 @@ build() { package_msys2-runtime() { pkgdesc="Posix emulation engine for Windows" groups=('base') - options=('!strip') - conflicts=('catgets' 'libcatgets') - replaces=('catgets' 'libcatgets') - #install=msys2-runtime.install + conflicts=('catgets' 'libcatgets' 'msys2-runtime-3.4') + replaces=('catgets' 'libcatgets' 'msys2-runtime-3.4') mkdir -p "${pkgdir}"/usr cp -rf "${srcdir}"/dest/usr/bin "${pkgdir}"/usr/ - rm -f "${pkgdir}"/usr/bin/msys-2.0.dbg + cp -rf "${srcdir}"/dest/usr/libexec "${pkgdir}"/usr/ rm -f "${pkgdir}"/usr/bin/cyglsa-config rm -f "${pkgdir}"/usr/bin/cyglsa.dll rm -f "${pkgdir}"/usr/bin/cyglsa64.dll rm -f "${pkgdir}"/usr/bin/cygserver-config - cp -rf "${srcdir}"/dest/usr/libexec "${pkgdir}"/usr/ cp -rf "${srcdir}"/dest/usr/share "${pkgdir}"/usr/ } @@ -312,12 +321,10 @@ package_msys2-runtime-devel() { pkgdesc="MSYS2 headers and libraries" groups=('msys2-devel') depends=("msys2-runtime=${pkgver}") - options=('staticlibs' '!strip') - conflicts=('libcatgets-devel') - replaces=('libcatgets-devel') + conflicts=('libcatgets-devel' 'msys2-runtime-3.4-devel') + replaces=('libcatgets-devel' 'msys2-runtime-3.4-devel') mkdir -p "${pkgdir}"/usr/bin - cp -f "${srcdir}"/dest/usr/bin/msys-2.0.dbg "${pkgdir}"/usr/bin/ cp -rLf "${srcdir}"/dest/usr/${CHOST}/include "${pkgdir}"/usr/ rm -f "${pkgdir}"/usr/include/iconv.h rm -f "${pkgdir}"/usr/include/unctrl.h diff --git a/msys2-runtime/README.md b/msys2-runtime/README.md new file mode 100644 index 00000000000..892e4cea94a --- /dev/null +++ b/msys2-runtime/README.md @@ -0,0 +1,4 @@ +The patches for this package are auto generated and managed in Git: +https://github.com/git-for-windows/msys2-runtime + +Run `./update-patches.sh` to re-create the patches. \ No newline at end of file diff --git a/msys2-runtime/msys2-runtime.commit b/msys2-runtime/msys2-runtime.commit index 8a9d000b59e..82cd5beeb69 100644 --- a/msys2-runtime/msys2-runtime.commit +++ b/msys2-runtime/msys2-runtime.commit @@ -1 +1 @@ -bec3d608e863dc48f447bd365448ea4274cc3ce6 +82f0d822f7e5ed5b4c5f335bc014a6404f7036f1 diff --git a/msys2-runtime/update-patches.sh b/msys2-runtime/update-patches.sh index 3bf2cca39c8..ef57d064f78 100644 --- a/msys2-runtime/update-patches.sh +++ b/msys2-runtime/update-patches.sh @@ -17,8 +17,8 @@ die "Clean worktree required" git rm 0*.patch || die "Could not remove previous patches" -base_tag=refs/tags/cygwin-"$(sed -ne 'y/./_/' -e 's/^pkgver=//p'