msys2 / msys2-runtime

Our friendly fork of Cygwin 💖 https://cygwin.org 💖 see the wiki for details
https://github.com/msys2/msys2-runtime/wiki
GNU General Public License v2.0
185 stars 39 forks source link

Update to 3.5.4 #225

Closed lazka closed 2 months ago

lazka commented 2 months ago

changelog: https://cygwin.com/git/?p=newlib-cygwin.git;a=blob;f=winsup/cygwin/release/3.5.4

git range-diff cygwin-3.5.3..msys2-3.5.3 cygwin-3.5.4..wip/msys2-3.5.4

``` 1: 50e235f7a0 = 1: 51380ec75b Add MSYS2 triplet 2: e5ae236775 = 2: a116f41845 Fix msys library name in import libraries 3: d1cb51f644 ! 3: f858c02bdb Rename dll from cygwin to msys @@ Metadata ## Commit message ## Rename dll from cygwin to msys - ## winsup/Makefile.am ## -@@ - - # This makefile requires GNU make. - --cygdocdir = $(datarootdir)/doc/Cygwin -+cygdocdir = $(datarootdir)/doc/Msys - - cygdoc_DATA = \ - CYGWIN_LICENSE \ - - ## winsup/cygserver/Makefile.am ## -@@ winsup/cygserver/Makefile.am: libcygserver_a_SOURCES = \ - - libcygserver_a_CXXFLAGS = $(cygserver_flags) - --cygdocdir = $(datarootdir)/doc/Cygwin -+cygdocdir = $(datarootdir)/doc/Msys - - install-data-local: - @$(MKDIR_P) $(DESTDIR)$(cygdocdir) - ## winsup/cygserver/transport_pipes.h ## @@ winsup/cygserver/transport_pipes.h: details. */ #ifndef _TRANSPORT_PIPES_H @@ winsup/cygwin/crt0.c: details. */ /* These are never actually called. They are just here to force the inclusion of things like -lbinmode. */ - ## winsup/cygwin/cygthread.cc ## -@@ winsup/cygwin/cygthread.cc: new (size_t) - } - - #ifdef DEBUGGING -- if (!getenv ("CYGWIN_FREERANGE_NOCHECK")) -+ if (!getenv ("MSYS_FREERANGE_NOCHECK")) - api_fatal ("overflowed cygwin thread pool"); - else - thread_printf ("overflowed cygwin thread pool"); - ## winsup/cygwin/cygwin.din ## @@ -LIBRARY "cygwin1.dll" BASE=0x180040000 @@ winsup/cygwin/cygwin.sc.in #endif ## winsup/cygwin/dcrt0.cc ## -@@ winsup/cygwin/dcrt0.cc: check_sanity_and_sync (per_process *p) - - /* 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", - p->magic_biscuit, SIZEOF_PER_PROCESS); - - /* Complain if incompatible API changes made */ - if (p->api_major > cygwin_version.api_major) -- 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); - } - -@@ winsup/cygwin/dcrt0.cc: break_here () - static void - initial_env () - { -- if (GetEnvironmentVariableA ("CYGWIN_TESTING", NULL, 0)) -+ if (GetEnvironmentVariableA ("MSYS_TESTING", NULL, 0)) - _cygwin_testing = 1; - - #ifdef DEBUGGING - char buf[PATH_MAX]; -- if (GetEnvironmentVariableA ("CYGWIN_DEBUG", buf, sizeof (buf) - 1)) -+ if (GetEnvironmentVariableA ("MSYS_DEBUG", buf, sizeof (buf) - 1)) - { - char buf1[PATH_MAX]; - GetModuleFileName (NULL, buf1, PATH_MAX); @@ winsup/cygwin/dcrt0.cc: 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. */ @@ winsup/cygwin/dcrt0.cc: dll_crt0 (per_process *uptr) { static int _fmode; -@@ winsup/cygwin/dcrt0.cc: multiple_cygwin_problem (const char *what, uintptr_t magic_version, uintptr_t ve - return; - } - -- if (GetEnvironmentVariableA ("CYGWIN_MISMATCH_OK", NULL, 0)) -+ if (GetEnvironmentVariableA ("MSYS_MISMATCH_OK", NULL, 0)) - return; - - if (CYGWIN_VERSION_MAGIC_VERSION (magic_version) == version) -@@ winsup/cygwin/dcrt0.cc: are unable to find another cygwin DLL.", - void - cygbench (const char *s) - { -- if (GetEnvironmentVariableA ("CYGWIN_BENCH", NULL, 0)) -+ if (GetEnvironmentVariableA ("MSYS_BENCH", NULL, 0)) - small_printf ("%05u ***** %s : %10d\n", GetCurrentProcessId (), s, strace.microseconds ()); - } - #endif ## winsup/cygwin/dlfcn.cc ## @@ winsup/cygwin/dlfcn.cc: collect_basenames (pathfinder::basenamelist & basenames, @@ winsup/cygwin/fhandler/pty.cc: fhandler_pty_slave::transfer_input (tty::xfer_dir pipe_request req = { GetCurrentProcessId () }; pipe_reply repl; - ## winsup/cygwin/fork.cc ## -@@ winsup/cygwin/fork.cc: frok::child (volatile char * volatile here) - char buf[80]; - /* This is useful for debugging fork problems. Use gdb to attach to - the pid reported here. */ -- if (GetEnvironmentVariableA ("CYGWIN_FORK_SLEEP", buf, sizeof (buf))) -+ if (GetEnvironmentVariableA ("MSYS_FORK_SLEEP", buf, sizeof (buf))) - { - small_printf ("Sleeping %d after fork, pid %u\n", atoi (buf), GetCurrentProcessId ()); - Sleep (atoi (buf)); - ## winsup/cygwin/hookapi.cc ## @@ winsup/cygwin/hookapi.cc: hook_or_detect_cygwin (const char *name, const void *fn, WORD& subsys, HANDLE h) for (PIMAGE_IMPORT_DESCRIPTOR pd = pdfirst; pd->FirstThunk; pd++) @@ winsup/cygwin/local_includes/cygserver_setpwd.h: details. */ #ifndef __INSIDE_CYGWIN__ class transport_layer_base; - ## winsup/cygwin/pinfo.cc ## -@@ winsup/cygwin/pinfo.cc: pinfo::maybe_set_exit_code_from_windows () - GetExitCodeProcess (hProcess, &x); - set_exit_code (x); - } -- sigproc_printf ("pid %d, exit value - old %y, windows %y, cygwin %y", -+ sigproc_printf ("pid %d, exit value - old %y, windows %y, MSYS %y", - self->pid, oexitcode, x, self->exitcode); - } - - - ## winsup/cygwin/pseudo-reloc.cc ## -@@ winsup/cygwin/pseudo-reloc.cc: __report_error (const char *msg, ...) - char buf[128]; - char *posix_module = NULL; - static const char UNKNOWN_MODULE[] = ": "; -- static const char CYGWIN_FAILURE_MSG[] = "Cygwin runtime failure: "; -+ static const char CYGWIN_FAILURE_MSG[] = "MSYS runtime failure: "; - HANDLE errh = GetStdHandle (STD_ERROR_HANDLE); - va_list args; - - ## winsup/cygwin/scripts/mkvers.sh ## @@ winsup/cygwin/scripts/mkvers.sh: dir=$(echo $dir | sed -e 's%/include/cygwin.*$%%' -e 's%include/cygwin.*$%.%') ) | while read var; do @@ winsup/cygwin/winver.rc: BEGIN VALUE "APIVersion", CYGWIN_API_VERSION VALUE "SharedMemoryVersion", STRINGIFY(CYGWIN_VERSION_SHARED_DATA) - ## winsup/testsuite/cygrun.c ## -@@ winsup/testsuite/cygrun.c: main (int argc, char **argv) - exit (1); - } - -- SetEnvironmentVariable ("CYGWIN_TESTING", "1"); -+ SetEnvironmentVariable ("MSYS_TESTING", "1"); - - memset (&sa, 0, sizeof (sa)); - memset (&pi, 0, sizeof (pi)); - ## winsup/testsuite/winsup.api/cygload.cc ## @@ save for errors. @@ winsup/testsuite/winsup.api/cygload.cc #include "cygload.h" #include @@ winsup/testsuite/winsup.api/cygload.cc: cygwin::connector::connector (const char *dll) - if ((_library = LoadLibrary (dll)) == NULL) - throw windows_error ("LoadLibrary", dll); -- *out << "Initializing cygwin..." << endl; -+ *out << "Initializing msys..." << endl; + *out << "Initializing cygwin..." << endl; - // This calls dcrt0.cc:cygwin_dll_init(), which calls dll_crt0_1(), + // This calls dcrt0.cc:msys_dll_init(), which calls dll_crt0_1(), @@ winsup/utils/mingw/cygcheck.cc: struct ImpDirectory static void cygwin_info (HANDLE h) { - char *buf, *bufend, *buf_start = NULL; -- const char *hello = " Cygwin DLL version info:\n"; -+ const char *hello = " Msys DLL version info:\n"; - DWORD size = GetFileSize (h, NULL); - DWORD n; - @@ winsup/utils/mingw/cygcheck.cc: cygwin_info (HANDLE h) while (buf < bufend) if ((buf = (char *) memchr (buf, '%', bufend - buf)) == NULL) @@ winsup/utils/mingw/cygcheck.cc: scan_registry (RegInfo * prev, HKEY hKey, char * cygwin = 1; DWORD num_subkeys, max_subkey_len, num_values; -@@ winsup/utils/mingw/cygcheck.cc: dump_sysinfo_services () - - /* inform the user if nothing found */ - if (no_services) -- puts ("No Cygwin services found.\n"); -+ puts ("No Msys services found.\n"); - } - - enum handle_reg_t @@ winsup/utils/mingw/cygcheck.cc: handle_reg_installation (handle_reg_t what) - HKEY key; - - if (what == PRINT_KEY) -- printf ("Cygwin installations found in the registry:\n"); -+ printf ("Msys installations found in the registry:\n"); + printf ("Cygwin installations found in the registry:\n"); for (int i = 0; i < 2; ++i) if (RegOpenKeyEx (i ? HKEY_CURRENT_USER : HKEY_LOCAL_MACHINE, - "SOFTWARE\\Cygwin\\Installations", 0, @@ winsup/utils/mingw/cygcheck.cc: handle_reg_installation (handle_reg_t what) if (what == PRINT_KEY) printf ("%s\n", access (path, F_OK) ? " (ORPHANED)" : ""); else if (access (path, F_OK)) -@@ winsup/utils/mingw/cygcheck.cc: dump_sysinfo () - _wputenv (comspec); - } - -- printf ("\nCygwin Configuration Diagnostics\n"); -+ printf ("\nMsys Configuration Diagnostics\n"); - time (&now); - printf ("Current System Time: %s\n", ctime (&now)); - -@@ winsup/utils/mingw/cygcheck.cc: dump_sysinfo () - - - if (givehelp) -- printf ("Here's some environment variables that may affect cygwin:\n"); -+ printf ("Here's some environment variables that may affect msys:\n"); - for (i = 0; environ[i]; i++) - { - char *eq = strchr (environ[i], '='); @@ winsup/utils/mingw/cygcheck.cc: dump_sysinfo () if (registry) { @@ winsup/utils/mingw/cygcheck.cc: dump_sysinfo () scan_registry (0, HKEY_CURRENT_USER, (char *) "HKEY_CURRENT_USER", 0, false); scan_registry (0, HKEY_LOCAL_MACHINE, -@@ winsup/utils/mingw/cygcheck.cc: dump_sysinfo () - printf ("\n"); - - if (givehelp) -- printf ("Looking for various Cygwin DLLs... (-v gives version info)\n"); -+ printf ("Looking for various Msys DLLs... (-v gives version info)\n"); - int cygwin_dll_count = 0; - char cygdll_path[32768]; - for (pathlike *pth = paths; pth->dir; pth++) @@ winsup/utils/mingw/cygcheck.cc: dump_sysinfo () wcstombs (f, ffinfo.cFileName, sizeof f); if (strcasecmp (f + strlen (f) - 4, ".dll") == 0) @@ winsup/utils/mingw/cygcheck.cc: dump_sysinfo () dump_dodgy_apps (verbose); -@@ winsup/utils/mingw/cygcheck.cc: static char opts[] = "cdnsrvkfliephV"; - static void - print_version () - { -- printf ("cygcheck (cygwin) %d.%d.%d\n" -- "System Checker for Cygwin\n" -+ printf ("cygcheck (msys) %d.%d.%d\n" -+ "System Checker for Msys\n" - "Copyright (C) 1998 - %s Cygwin Authors\n" - "This is free software; see the source for copying conditions. " - "There is NO\n" @@ winsup/utils/mingw/cygcheck.cc: load_cygwin (int& argc, char **&argv) { HMODULE h; @@ winsup/utils/mingw/strace.cc: create_child (char **argv) _putenv (newenv); ret = CreateProcess (0, one_line.buf, /* command line */ NULL, /* Security */ -@@ winsup/utils/mingw/strace.cc: dotoggle (pid_t pid) - child_pid = (DWORD) cygwin_internal (CW_CYGWIN_PID_TO_WINPID, pid); - if (!child_pid) - { -- warn (0, "no such cygwin pid - %d", pid); -+ warn (0, "no such msys pid - %d", pid); - child_pid = pid; - } - if (cygwin_internal (CW_STRACE_TOGGLE, child_pid)) ## winsup/utils/path.cc ## @@ winsup/utils/path.cc: read_mounts () 4: c3aa2124ec = 4: b084abe0ec Add functionality for converting UNIX paths in arguments and environment variables to Windows form for native Win32 applications. 5: ed83b2cc2e = 5: cbacf21a49 Add functionality for changing OS name via MSYSTEM environment variables. 6: 6a937ecb5c = 6: c0adae6e38 - Move root to /usr. - Change sorting mount points. - By default mount without ACLs. - Can read /etc/fstab with short mount point format. 7: 45c5946a16 = 7: aa6e313b9a Instead of creating Cygwin symlinks, use deep copy by default 8: 474f787a2d = 8: 55cc41353d Automatically rewrite TERM=msys to TERM=cygwin 9: 916afdca1a = 9: e7d9d442ce Do not convert environment for strace 10: 4df3f8921c = 10: a1e28fb96a strace.cc: Don't set MSYS=noglob 11: 1ddc4cd699 = 11: 5c3c66a4ec Add debugging for strace make_command_line 12: 271294ce2a = 12: a4cdbece43 strace --quiet: be *really* quiet 13: 7c2d94dc53 = 13: 7e52ffd3ba path_conv: special-case root directory to have trailing slash 14: 5d4fff4e1d = 14: 6417ed9cd1 When converting to a Unix path, avoid double trailing slashes 15: 1a60554fae = 15: b314cf5603 msys2_path_conv: pass PC_NOFULL to path_conv 16: 9b6d2a32d5 = 16: 68a1399052 path-conversion: Introduce ability to switch off conversion. 17: 92ce9c20c8 = 17: 097d4c1973 dcrt0.cc: Untangle allow_glob from winshell 18: fc188165cb ! 18: 9b7dbd7af9 dcrt0.cc (globify): Don't quote literal strings differently when dos_spec @@ Commit message ## winsup/cygwin/dcrt0.cc ## @@ winsup/cygwin/dcrt0.cc: globify (char *word, char **&argv, int &argc, int &argvlen) - char quote = *s; while (*++s && *s != quote) { + mbstate_t mbs = { 0 }; + /* This used to be: if (dos_spec || *s != '\\') - /* nothing */; @@ winsup/cygwin/dcrt0.cc: globify (char *word, char **&argv, int &argc, int &argvl + if (*s == '\\' && (s[1] == quote || s[1] == '\\')) + s++; *p++ = '\\'; - size_t cnt = isascii (*s) ? 1 : mbtowc (NULL, s, MB_CUR_MAX); + size_t cnt = isascii (*s) ? 1 : mbrtowi (NULL, s, MB_CUR_MAX, &mbs); if (cnt <= 1 || cnt == (size_t)-1) 19: 619f25935b = 19: edba1e9a5b Add debugging for build_argv 20: 60f6b7e1c2 = 20: 607001f33d environ.cc: New facility/environment variable MSYS2_ENV_CONV_EXCL 21: a4f1634cbf = 21: 4b69189569 Fix native symbolic link spawn passing wrong arg0 22: 1af273a76a = 22: 245f16540b Introduce the `enable_pcon` value for `MSYS` 23: 81d7c6b3a4 = 23: 7462e30c92 popen: call /usr/bin/sh instead of /bin/sh 24: 19f03046bc = 24: 37dd55bf4d Disable the 'cygwin' GitHub workflow 25: d3462982ce = 25: 41778dfe0f CI: add a GHA for doing a basic build test 26: 3e22c46ed1 = 26: 5b7e798c8e CI: fix the build with gcc 13 27: 9c3163984b = 27: 293731b071 Set up a GitHub Action to keep in sync with Cygwin 28: 5925d0638e = 28: 15ae7aa902 Expose full command-lines to other Win32 processes by default 29: d5a888d235 = 29: ab240c56d0 Add a helper to obtain a function's address in kernel32.dll 30: 86874b54d2 = 30: ed62ffe5a9 Emulate GenerateConsoleCtrlEvent() upon Ctrl+C 31: 16e0f643d8 = 31: 79f03e1f50 kill: kill Win32 processes more gently 32: 216a27d7c8 = 32: f14b38953e Cygwin: make option for native inner link handling. 33: b2ac8b0a3f = 33: be6f3f0de4 docs: skip building texinfo and PDF files 34: dea0da4990 = 34: eb5833fe48 install-libs: depend on the "toollibs" 35: b332ee59f4 = 35: f384af0be9 POSIX-ify the SHELL variable 36: 379c6917bd = 36: 50cd806fd1 Handle ORIGINAL_PATH just like PATH 37: b2e2b5669b = 37: 5e28622a1a uname: allow setting the system name to CYGWIN 38: ba2bf4662e = 38: dacdc1ad16 Pass environment variables with empty values 39: 6594dacd37 = 39: 8c8e8e90cd Optionally disallow empty environment values again 40: cdd9e8df37 = 40: 310c9bcfe4 build_env(): respect the `MSYS` environment variable 41: ae4c9c303f = 41: 9d03af780a Revert "Cygwin: Enable dynamicbase on the Cygwin DLL by default" 42: abcb3c6c0f < -: ---------- proc: fix `error: the address of ‘iso15924’ will never be NULL` 43: 3f5eb36d40 = 42: 773b5d9065 CI: set -Wno-error=maybe-uninitialized 44: 28d69fba26 < -: ---------- Cygwin: disable high-entropy VA for ldh 45: 317fc51b3a = 43: 3255d4e481 Avoid sharing cygheaps across Cygwin versions 46: 0ea583b9cb = 44: 952a99fc73 uname: report msys2-runtime commit hash, too 47: 38020a7e0e < -: ---------- fixup! Rename dll from cygwin to msys 48: 445e3ed14f < -: ---------- fixup! Rename dll from cygwin to msys 49: 7484c55948 < -: ---------- fixup! Rename dll from cygwin to msys ```

Actions taken:

dscho commented 2 months ago

I force-pushed after rebasing.

Range-diff * 1: cbacf21a49 ! 1: f16038529a Add functionality for changing OS name via MSYSTEM environment variables. ``````diff @@ winsup/cygwin/environ.cc: win32env_to_cygenv (PWCHAR rawenv, bool posify) if (*eq && posify) posify_maybe (envp + i, *++eq ? eq : --eq, tmpbuf); debug_printf ("%p: %s", envp[i], envp[i]); -@@ winsup/cygwin/environ.cc: struct spenv - static NO_COPY spenv spenvs[] = - { - #ifdef DEBUGGING -- {NL ("CYGWIN_DEBUG="), false, true, NULL}, -+ {NL ("MSYS_DEBUG="), false, true, NULL}, - #endif - {NL ("HOMEDRIVE="), false, false, &cygheap_user::env_homedrive}, +@@ winsup/cygwin/environ.cc: static NO_COPY spenv spenvs[] = {NL ("HOMEPATH="), false, false, &cygheap_user::env_homepath}, {NL ("LOGONSERVER="), false, false, &cygheap_user::env_logsrv}, {NL ("PATH="), false, true, NULL}, `````` * 2: c0adae6e38 = 2: 6393488c9d - Move root to /usr. - Change sorting mount points. - By default mount without ACLs. - Can read /etc/fstab with short mount point format. * 3: aa6e313b9a = 3: 06ea20e4ec Instead of creating Cygwin symlinks, use deep copy by default * 4: 55cc41353d = 4: 222fd37c0b Automatically rewrite TERM=msys to TERM=cygwin * 5: e7d9d442ce = 5: 41e8ada0d1 Do not convert environment for strace * 6: a1e28fb96a = 6: 766e55c1be strace.cc: Don't set MSYS=noglob * 7: 5c3c66a4ec = 7: 4f01c3f5c7 Add debugging for strace make_command_line * 8: a4cdbece43 = 8: d43f1eebf2 strace --quiet: be *really* quiet * 9: 7e52ffd3ba = 9: 0053f7b38e path_conv: special-case root directory to have trailing slash * 10: 6417ed9cd1 = 10: 1e8a891f5e When converting to a Unix path, avoid double trailing slashes * 11: b314cf5603 = 11: 673065dd1e msys2_path_conv: pass PC_NOFULL to path_conv * 12: 68a1399052 = 12: e1db14849f path-conversion: Introduce ability to switch off conversion. * 13: 097d4c1973 = 13: f6e516da39 dcrt0.cc: Untangle allow_glob from winshell * 14: 9b7dbd7af9 = 14: 1059fbbdea dcrt0.cc (globify): Don't quote literal strings differently when dos_spec * 15: edba1e9a5b = 15: f8da08fd7e Add debugging for build_argv * 16: 607001f33d = 16: 03d6fe120a environ.cc: New facility/environment variable MSYS2_ENV_CONV_EXCL * 17: 4b69189569 = 17: 90d66ee649 Fix native symbolic link spawn passing wrong arg0 * 18: 245f16540b = 18: 7b84fed8f0 Introduce the `enable_pcon` value for `MSYS` * 19: 7462e30c92 = 19: 6f87e23bae popen: call /usr/bin/sh instead of /bin/sh * 20: 37dd55bf4d = 20: df7a56eeaa Disable the 'cygwin' GitHub workflow * 21: 41778dfe0f = 21: cf56ccdb64 CI: add a GHA for doing a basic build test * 22: 5b7e798c8e = 22: 083c245339 CI: fix the build with gcc 13 * 23: 293731b071 = 23: 91f46dfb4b Set up a GitHub Action to keep in sync with Cygwin * 24: 15ae7aa902 = 24: 4dd6aad863 Expose full command-lines to other Win32 processes by default * 25: ab240c56d0 = 25: 6ef58ed329 Add a helper to obtain a function's address in kernel32.dll * 26: ed62ffe5a9 = 26: 38a8880717 Emulate GenerateConsoleCtrlEvent() upon Ctrl+C * 27: 79f03e1f50 = 27: b9d1fadafe kill: kill Win32 processes more gently * 28: f14b38953e = 28: 715f6ce891 Cygwin: make option for native inner link handling. * 29: be6f3f0de4 = 29: abeeb31b2b docs: skip building texinfo and PDF files * 30: eb5833fe48 = 30: fbe8ae30a3 install-libs: depend on the "toollibs" * 31: f384af0be9 = 31: 38abc7cfff POSIX-ify the SHELL variable * 32: 50cd806fd1 = 32: 9c758e8f9c Handle ORIGINAL_PATH just like PATH * 33: 5e28622a1a = 33: 312f7660cc uname: allow setting the system name to CYGWIN * 34: dacdc1ad16 = 34: e19af2018e Pass environment variables with empty values * 35: 8c8e8e90cd = 35: 4deb751587 Optionally disallow empty environment values again * 36: 310c9bcfe4 = 36: a1f282d18d build_env(): respect the `MSYS` environment variable * 37: 9d03af780a = 37: d1b382b8d6 Revert "Cygwin: Enable dynamicbase on the Cygwin DLL by default" * 38: 773b5d9065 = 38: 997f6f3ea0 CI: set -Wno-error=maybe-uninitialized * 39: 3255d4e481 = 39: e347515e99 Avoid sharing cygheaps across Cygwin versions * 40: 952a99fc73 = 40: dd9d970a97 uname: report msys2-runtime commit hash, too * 41: 9b4cf2936a < -: ---------- fixup! Add functionality for changing OS name via MSYSTEM environment variables.
lazka commented 2 months ago

sure, looks good, thanks.

I'm confused why git rebase dropped that hunk.. there was no conflict.

lazka commented 2 months ago

double checked, and everything else is there at least.

dscho commented 2 months ago

I'm confused why git rebase dropped that hunk.. there was no conflict.

@lazka Aha! I looked a little bit more closely, and the original change to drop renaming CYGWIN_DEBUG to MSYS_DEBUG is in 38020a7e0e6a105b9d4bc25e745286014a36d17d, which is marked as a fixup! of d1cb51f64425bb111e1f1cf002008642e1abf53f.

However, in that commit, the CYGWIN_DEBUG variable was not renamed to MSYS_DEBUG, at least not in winsup/cygwin/environ.cc (but in winsup/cygwin/dcrt0.cc). That was done two patches later, in ed83b2cc2e452756933227abe7a94cf6a5d5f49b.

So when the auto-squash tried to fix up the replayed d1cb51f64425bb111e1f1cf002008642e1abf53f by dropping that hunk, Git realized that the pre-image already had CYGWIN_DEBUG and basically thought: hey, this is great, the change was already applied, good, nothing to be done, let's continue. But two patches later, that symbol was renamed to MSYS_DEBUG and that's how we ended up here.

lazka commented 2 months ago

Oh, good catch. I kinda would have expected git to complain there somehow, either when doing the wrong fixup or when dropping it later. I need to be more careful next time.