https://bugs.winehq.org/show_bug.cgi?id=40528
--- Comment #5 from Nikolay Sivov bunglehead@gmail.com --- (In reply to Angus Gratton from comment #4)
Found this issue while trying to run MSYS2 (which uses Cygwin) on wine-staging 2.15.
There's a matching MSYS2 bug here: https://github.com/Alexpux/MSYS2-packages/issues/682
From reading through that, I understand the problem to be:
- Cygwin 2.6 removed support for Windows XP.
- That included a patch which removed pre-Vista fallback behaviour for
computing a FAST_CWD structure[1].
- On Wine, Cygwin happened to be using that fallback behaviour for FAST_CWD,
as Cygwin's find_fast_cwd_pointer() seems to always fail[2] under wine.
So, currently Wine can't run Cygwin 2.6 or newer.
[1] https://cygwin.com/ml/cygwin-cvs/2016-q2/msg00099.html [2] https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=winsup/ cygwin/path.cc;h=475c99599a19689bd67f8b81f91ce70f79d7666e;hb=HEAD#l4277
It's not surprising it doesn't work as they are expecting exact opcode sequence for some ntdll exports. We can't do that, maybe someone interested could convince them to add back fallback logic if only for Wine.