64-bit volatile accesses are not atomic on i386. Both
i686-w64-mingw32-gcc and x86 MSVC splits 64-bit loads into a pair of
load/store ops.
Fix this by using a FILD/FISTP pair, which is also used to implement C11
atomics by i686-w64-mingw32-gcc.
Fixes: f82b1c1fcf770a5d6fa02c3f286282be79a201b8
--
v3: include: Prevent misuse of __WINE_ATOMIC_* helper macros for non-atomic large accesses.
include: Fix ReadNoFence64 on i386.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7237
64-bit volatile accesses are not atomic on i386. Both
i686-w64-mingw32-gcc and x86 MSVC splits 64-bit loads into two
load/stores of a pair of 32-bit words.
Fix this by using FILD/FSTP pair, which is used to implement C11 atomics
by i686-w64-mingw32-gcc.
Fixes: f82b1c1fcf770a5d6fa02c3f286282be79a201b8
--
v2: include: Prevent misuse of __WINE_ATOMIC_* helper macros for non-atomic large accesses.
include: Fix ReadNoFence64 on i386.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7237
64-bit volatile accesses are not atomic on i386. Both
i686-w64-mingw32-gcc and x86 MSVC splits 64-bit loads into two
load/stores of a pair of 32-bit words.
Fix this by using FILD/FSTP pair, which is used to implement C11 atomics
by i686-w64-mingw32-gcc.
Fixes: f82b1c1fcf770a5d6fa02c3f286282be79a201b8
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7237
"DIR /o" (no order specifier after /o) hasn't functioned the same as it does on Windows. This change makes the functionality of /o by itself equivalent to behavior on Windows.
--
v12: programs/cmd: Tests patch from @epo
https://gitlab.winehq.org/wine/wine/-/merge_requests/7131
"DIR /o" (no order specifier after /o) hasn't functioned the same as it does on Windows. This change makes the functionality of /o by itself equivalent to behavior on Windows.
--
v10: programs/cmd: Cleanup DIR /O logic.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7131
On Fri Jan 31 17:26:57 2025 +0000, eric pouech wrote:
> Thanks for the submission.
> I'm not thrilled by the outcome style-wise, but given the starting
> point, I fully agree with you that it'll way too large to go further.
> Two remarks though:
> The commit message should read: "programs/cmd: Cleanup DIR /O logic."
> (without the quotes) we want to trace which module is addressed by the
> change, and commit line should be terminated by a '.'
> Content-wise, we definitively need to embed the tests (as the ones I
> posted above) inside the merge request in order to detect potential
> further regressions. This means the MR shall contain two patches:
> * first patch in MR: the tests (marked with @todo_wine@ for the failing
> ones),
> * the second patch in MR: basically your current patch + removal of
> @todo_wine@ that now pass.
> Either you feel up to do it (feel free to use the patch of tests above);
> if not, I can repackage your patch into the desired form.
Thanks for the feedback and guidance. I appreciate it.
I can certainly try to change the commit message and add the test patch to the MR. I was never able to get the tests to run on my system, however. I believe that it's likely that my build is inadequate. I am not building a full Wine with WOW64 support, etc. Perhaps the CI will run the tests and perhaps I can see the results to see if they are failing, etc.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7131#note_93332
The intention is to have ICreateTypeLib2_fnDeleteTypeInfo() fully implemented such that Cashbooks can run on Linux. I believe this should fix a number of other Windows apps that lean heavily on oleaut32.dll as well.
--
v11: dlls/oleaut32: ptr_size should be a ULONG
This merge request has too many patches to be relayed via email.
Please visit the URL below to see the contents of the merge request.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7203