Alexandre Julliard pushed to branch master at wine / wine
Commits: aaa73dd5 by Jinoh Kang at 2025-02-18T12:06:13+01:00 include: Fix ReadNoFence64 on i386.
64-bit volatile loads are not atomic on i386. Both i686-w64-mingw32-gcc and x86 MSVC splits 64-bit loads into a pair of load ops.
Fix this by using a FILD/FISTP pair, which is also used to implement C11 atomic_load() by i686-w64-mingw32-gcc.
Fixes: f82b1c1fcf770a5d6fa02c3f286282be79a201b8
- - - - - 45563dd1 by Jinoh Kang at 2025-02-18T12:06:16+01:00 server: Fix incorrect usage of __WINE_ATOMIC_STORE_RELEASE in SHARED_WRITE_BEGIN/SHARED_WRITE_END.
64-bit volatile stores are not atomic on i386. Both i686-w64-mingw32-gcc and x86 MSVC splits 64-bit stores into a pair of store ops.
Fix this by using a FILD/FISTP pair, which is also used to implement C11 atomic_store() by i686-w64-mingw32-gcc.
Fixes: fac940dfac314c2b1c120cf9ff8503259153c5a0
- - - - - 14cb2782 by Jinoh Kang at 2025-02-18T12:06:17+01:00 include: Prevent misuse of __WINE_ATOMIC_* helper macros for non-atomic large accesses.
- - - - -
2 changed files:
- include/winnt.h - server/file.h
View it on GitLab: https://gitlab.winehq.org/wine/wine/-/compare/e0b7cf3ac4a1bcc54aff898764cf35...