https://bugs.winehq.org/show_bug.cgi?id=48291
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #27 from Zebediah Figura z.figura12@gmail.com --- (In reply to Paul Gofman from comment #26)
Created attachment 66102 [details] Don't use futexes for unaligned addresses
Regarding p. 4., the reason is the game is passing unaligned addresses for condition variables. That works somehow on Windows and in Wine fallback path, but not with futexes. I am attaching a bit better patch which fixes the issue.
Nice find!
On 64-bit machines, we actually have 8 bits to work with, which means we could manually align the address upward, at least for condition variables and SRW locks.
Note also that address waits are hashed, so we don't need to use the server path for those even if they're unaligned.