https://bugs.winehq.org/show_bug.cgi?id=49698
Bug ID: 49698 Summary: Unwinding with a PE based ntdll.dll fails in some cases Product: Wine Version: unspecified Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: martin@martin.st Distribution: ---
Created attachment 67943 --> https://bugs.winehq.org/attachment.cgi?id=67943 Testcase
If ntdll is built as a PE, some unwinding cases (that, as far as I understand, unwind through ntdll itself) fail, where the testcases succeed if wine is built with --without-mingw.
The attached testcase that fails is built from https://github.com/microsoft/compiler-tests/blob/master/eh/ehthrow.cxx with "cl ehthrow.cxx -Feehthrow-msvc-x64.exe -EHsc -O2" using MSVC 19.24.28314 for x64.
FWIW, in a non-PE build, this testcase also regressed earlier, in 887332f9c7bf0d75f53f88a9739b77b12463d636 "ntdll: Fix KiUserExceptionDispatcher ABI on x86_64.", but was fixed again by 12dba1b2ae50099de4cd857f867ebcaefe6852d8 "ntdll: Fix PE unwind info for %rsi, %rdi in KiUserExceptionDispatcher." I think.