Piotr Caban (@piotr) commented about dlls/vccorlib140/tests/vccorlib.c:
+ { + HRESULT hr; + const WCHAR *exp_winrt_name; + const char *exp_rtti_mangled_name; + const char *exp_rtti_name; + /* The mangled RTTI name of the cxx_exception_type received by the exception handler/filter. */ + const char *exp_exception_rtti_mangled_name; + } test_cases[] = { + WINRT_EXCEPTIONS + /* Generic exceptions */ + {E_HANDLE, L"Platform.COMException", ".?AVCOMException(a)Platform@@", "class Platform::COMException", EXCEPTION_RTTI_NAME(COM)}, + {0xdeadbeef, L"Platform.COMException", ".?AVCOMException(a)Platform@@", "class Platform::COMException", EXCEPTION_RTTI_NAME(COM)}, + }; +#undef EXCEPTION_RTTI_NAME +#undef WINRT_EXCEPTION + const ULONG_PTR base = sizeof(void *) == 8 ? (ULONG_PTR)hmod : 0; base initialization doesn't match with rva's usage in C-runtime (see CXX_USE_RVA definition in dlls/msvcrt/cxx.h). I'm expecting it to not work on 32-bit Arm.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/9209#note_119700