[Bug 52821] New: Missing support of C++20 Semaphores in built-in Wine C++ runtime

WineHQ Bugzilla wine-bugs at winehq.org
Fri Apr 15 13:19:53 CDT 2022


https://bugs.winehq.org/show_bug.cgi?id=52821

            Bug ID: 52821
           Summary: Missing support of C++20 Semaphores in built-in Wine
                    C++ runtime
           Product: Wine
           Version: 7.6
          Hardware: x86-64
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: msvcp
          Assignee: wine-bugs at winehq.org
          Reporter: kle at bluewin.ch
      Distribution: ---

Hi all

Right at the beginning it should be noted that the following error may have
been already described.

There seems to exist currently no support of C++20 Semaphores in Wines built-in
C++ library. I noticed this limitation with two applications. The following
"msvcp140_atomic_wait.dll" related error message is shown when this issue
occurs. Both apps crash right after.


CXBX-R Xbox emulator (starting with build 374ba5e):

wine: Call from 7B011586 to unimplemented function
msvcp140_atomic_wait.dll.__std_atomic_wait_direct, aborting
wine: Call from 7B011586 to unimplemented function
msvcp140_atomic_wait.dll.__std_atomic_notify_one_direct, aborting


PCSX-Redux PSX emulator (all newer builds since 4317):

wine: Call from 0000000000272B9E to unimplemented function
msvcp140_atomic_wait.dll.__std_atomic_wait_direct, aborting
wine: Unimplemented function msvcp140_atomic_wait.dll.__std_atomic_wait_direct
called at address 0000000000272B9E (thread 010c), starting debugger...
wine: Call from 0000000000272B9E to unimplemented function
msvcp140_atomic_wait.dll.__std_atomic_notify_one_direct, aborting


Both applications worked before the "std::binary_semaphore" C++20 type was
introduced.

It is confirmed for Wine 7.0 that it can handle this situation when vcrun2019
(native MS Visual C++ 2019) is installed via winetricks. But for whatever
reason this stopped to work in later Wine 7.x devel versions.

A further workaround was to put a native "msvcp140_atomic_wait.dll" into the
program folder. I can confirm that this helped at least for a while in
conjunction with the PCSX-Redux emulator. But also here this tweak stopped to
work in later Wine 7.x devel versions.

More information can be found at the CXBX-R GitHub issue page:
https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/issues/2347

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list