ntdll: Handle aarch64 pointer authentication in unwind info.
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/f510c83085d9764b3c7b52221978af266d54e397
[2] https://github.com/MicrosoftDocs/cpp-docs/commit/cac237d3f370a06b71f6c314a67e7acdfab568fd
Showing
Please
register
or
sign in
to comment