These were docmented in [1] (with the user-facing name of the opcode
adjusted later in [2]).
Since MSVC 2022, the precompiled runtimes (both runtimes such as
vcruntime140*.dll and the statically linked code from e.g. libcmt.lib)
are built with pointer authentication enabled.
To correctly handle unwinding through such functions, even on HW that
don't support the pointer authentication mechanism itself, wine needs
to at least be aware of it (for handling the cases with packed unwind
info with CR==2 simiarly to CR==3).
This patch has been tested on Linux on HW supporting pointer
authentication too, with binaries built with MSVC.
[1] https://github.com/MicrosoftDocs/cpp-docs/commit/f510c83085d9764b3c7b522219…
[2] https://github.com/MicrosoftDocs/cpp-docs/commit/cac237d3f370a06b71f6c314a6…
--
v2: ntdll: Handle aarch64 pointer authentication in unwind info
https://gitlab.winehq.org/wine/wine/-/merge_requests/2320
These were docmented in [1] (with the user-facing name of the opcode
adjusted later in [2]).
Since MSVC 2022, the precompiled runtimes (both runtimes such as
vcruntime140*.dll and the statically linked code from e.g. libcmt.lib)
are built with pointer authentication enabled.
To correctly handle unwinding through such functions, even on HW that
don't support the pointer authentication mechanism itself, wine needs
to at least be aware of it (for handling the cases with packed unwind
info with CR==2 simiarly to CR==3).
This patch has been tested on Linux on HW supporting pointer
authentication too, with binaries built with MSVC.
[1] https://github.com/MicrosoftDocs/cpp-docs/commit/f510c83085d9764b3c7b522219…
[2] https://github.com/MicrosoftDocs/cpp-docs/commit/cac237d3f370a06b71f6c314a6…
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2320
Allowing the job to fail to avoid failing the pipeline. Some new tests
are failing with it, and some are succeeding todo_wine.
--
v4: gitlab: Run user32 32-bit tests with nulldrv driver.
user32/tests: Update todos specific to the X11 display driver.
user32/tests: Check graphics driver and add todos for nulldrv.
win32u: Check GUID_NULL display device if desktop atom is missing.
explorer: Use GUID_NULL display device GUID for nulldrv.
win32u: Return the current display mode depth with nulldrv.
win32u: Map VK_MENU / KBDALT in kbdus_tables pCharModifiers.
user32/tests: Test VK_MENU effect on ToUnicode.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1259
The goal is to eventually move all interfaces from each driver's `mmdevdrv.c` into `mmdevapi`.
--
v4: wine{alsa,coreaudio,oss,pulse}: Move test_connect handling into mmdevapi.
mmdevapi: Use UTF-16 for client name in "test_connect_params" and "create_stream_params" structs.
winepulse: Move process_attach and process_detach handling into mmdevapi.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1543