Add stubs for CrtImplementationDetails::Thow*ModuleLoadException functions
This will help some applications not crashing. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=34537
Next part will be moving this code to msvcp and to make sure Cin, other related classes are implemented for msvcmxx.dlls
From: Vijay Kiran Kamuju infyquest@gmail.com
--- dlls/msvcm80/msvcm80.spec | 4 ++-- dlls/msvcm80/msvcm_main.c | 6 ++++++ dlls/msvcm90/msvcm90.spec | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/dlls/msvcm80/msvcm80.spec b/dlls/msvcm80/msvcm80.spec index 86e50bfb402..b35a0ba7d89 100644 --- a/dlls/msvcm80/msvcm80.spec +++ b/dlls/msvcm80/msvcm80.spec @@ -3,8 +3,8 @@ @ cdecl ?DoDllLanguageSupportValidation@<CrtImplementationDetails>@@YAXXZ() CrtImplementationDetails_DoDllLanguageSupportValidation @ cdecl -arch=win32 ?RegisterModuleUninitializer@<CrtImplementationDetails>@@YAXP$AAVEventHandler@System@@@Z(ptr) CrtImplementationDetails_RegisterModuleUninitializer @ cdecl -arch=win64 ?RegisterModuleUninitializer@<CrtImplementationDetails>@@YAXPE$AAVEventHandler@System@@@Z(ptr) CrtImplementationDetails_RegisterModuleUninitializer -@ stub -arch=win32 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString@System@@@Z -@ stub -arch=win64 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVString@System@@@Z +@ cdecl -arch=win32 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString@System@@@Z(ptr) CrtImplementationDetails_ThrowModuleLoadException +@ cdecl -arch=win64 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVString@System@@@Z(ptr) CrtImplementationDetails_ThrowModuleLoadException @ stub -arch=win32 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString@System@@P$AAVException@3@@Z @ stub -arch=win64 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVString@System@@PE$AAVException@3@@Z @ stub -arch=win32 ?ThrowNestedModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVException@System@@0@Z diff --git a/dlls/msvcm80/msvcm_main.c b/dlls/msvcm80/msvcm_main.c index 9ebf809ab54..badb9a1b5f8 100644 --- a/dlls/msvcm80/msvcm_main.c +++ b/dlls/msvcm80/msvcm_main.c @@ -43,3 +43,9 @@ void __cdecl __setusermatherr_m(void *handler) { FIXME("%p: stub\n", handler); } + +/* void __cdecl <CrtImplementationDetails>::ThrowModuleLoadException(System.String^) */ +void __cdecl CrtImplementationDetails_ThrowModuleLoadException(void* message) +{ + FIXME("%p: stub\n", message); +} diff --git a/dlls/msvcm90/msvcm90.spec b/dlls/msvcm90/msvcm90.spec index 9d57dc75c08..80c661e775e 100644 --- a/dlls/msvcm90/msvcm90.spec +++ b/dlls/msvcm90/msvcm90.spec @@ -3,8 +3,8 @@ @ cdecl ?DoDllLanguageSupportValidation@<CrtImplementationDetails>@@YAXXZ() CrtImplementationDetails_DoDllLanguageSupportValidation @ cdecl -arch=win32 ?RegisterModuleUninitializer@<CrtImplementationDetails>@@YAXP$AAVEventHandler@System@@@Z(ptr) CrtImplementationDetails_RegisterModuleUninitializer @ cdecl -arch=win64 ?RegisterModuleUninitializer@<CrtImplementationDetails>@@YAXPE$AAVEventHandler@System@@@Z(ptr) CrtImplementationDetails_RegisterModuleUninitializer -@ stub -arch=win32 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString@System@@@Z -@ stub -arch=win64 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVString@System@@@Z +@ cdecl -arch=win32 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString@System@@@Z(ptr) CrtImplementationDetails_ThrowModuleLoadException +@ cdecl -arch=win64 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVString@System@@@Z(ptr) CrtImplementationDetails_ThrowModuleLoadException @ stub -arch=win32 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString@System@@P$AAVException@3@@Z @ stub -arch=win64 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVString@System@@PE$AAVException@3@@Z @ stub -arch=win32 ?ThrowNestedModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVException@System@@0@Z
From: Vijay Kiran Kamuju infyquest@gmail.com
--- dlls/msvcm80/msvcm80.spec | 4 ++-- dlls/msvcm80/msvcm_main.c | 6 ++++++ dlls/msvcm90/msvcm90.spec | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/dlls/msvcm80/msvcm80.spec b/dlls/msvcm80/msvcm80.spec index b35a0ba7d89..5f9c10715f0 100644 --- a/dlls/msvcm80/msvcm80.spec +++ b/dlls/msvcm80/msvcm80.spec @@ -5,8 +5,8 @@ @ cdecl -arch=win64 ?RegisterModuleUninitializer@<CrtImplementationDetails>@@YAXPE$AAVEventHandler@System@@@Z(ptr) CrtImplementationDetails_RegisterModuleUninitializer @ cdecl -arch=win32 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString@System@@@Z(ptr) CrtImplementationDetails_ThrowModuleLoadException @ cdecl -arch=win64 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVString@System@@@Z(ptr) CrtImplementationDetails_ThrowModuleLoadException -@ stub -arch=win32 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString@System@@P$AAVException@3@@Z -@ stub -arch=win64 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVString@System@@PE$AAVException@3@@Z +@ cdecl -arch=win32 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString@System@@P$AAVException@3@@Z(ptr ptr) CrtImplementationDetails_ThrowModuleLoadException_Inner +@ cdecl -arch=win64 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVString@System@@PE$AAVException@3@@Z(ptr ptr) CrtImplementationDetails_ThrowModuleLoadException_Inner @ stub -arch=win32 ?ThrowNestedModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVException@System@@0@Z @ stub -arch=win64 ?ThrowNestedModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVException@System@@0@Z @ stub -arch=win32 ?_Addstd@ios_base@std@@SAXPAV12@@Z diff --git a/dlls/msvcm80/msvcm_main.c b/dlls/msvcm80/msvcm_main.c index badb9a1b5f8..d963e18863d 100644 --- a/dlls/msvcm80/msvcm_main.c +++ b/dlls/msvcm80/msvcm_main.c @@ -49,3 +49,9 @@ void __cdecl CrtImplementationDetails_ThrowModuleLoadException(void* message) { FIXME("%p: stub\n", message); } + +/* void __cdecl <CrtImplementationDetails>::ThrowModuleLoadException(System.String^, System.Exception^) */ +void __cdecl CrtImplementationDetails_ThrowModuleLoadException_Inner(void* message, void* inner) +{ + FIXME("%p %p: stub\n", message, inner); +} diff --git a/dlls/msvcm90/msvcm90.spec b/dlls/msvcm90/msvcm90.spec index 80c661e775e..f9e3d0410de 100644 --- a/dlls/msvcm90/msvcm90.spec +++ b/dlls/msvcm90/msvcm90.spec @@ -5,8 +5,8 @@ @ cdecl -arch=win64 ?RegisterModuleUninitializer@<CrtImplementationDetails>@@YAXPE$AAVEventHandler@System@@@Z(ptr) CrtImplementationDetails_RegisterModuleUninitializer @ cdecl -arch=win32 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString@System@@@Z(ptr) CrtImplementationDetails_ThrowModuleLoadException @ cdecl -arch=win64 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVString@System@@@Z(ptr) CrtImplementationDetails_ThrowModuleLoadException -@ stub -arch=win32 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString@System@@P$AAVException@3@@Z -@ stub -arch=win64 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVString@System@@PE$AAVException@3@@Z +@ cdecl -arch=win32 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString@System@@P$AAVException@3@@Z(ptr ptr) CrtImplementationDetails_ThrowModuleLoadException_Inner +@ cdecl -arch=win64 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVString@System@@PE$AAVException@3@@Z(ptr ptr) CrtImplementationDetails_ThrowModuleLoadException_Inner @ stub -arch=win32 ?ThrowNestedModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVException@System@@0@Z @ stub -arch=win64 ?ThrowNestedModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVException@System@@0@Z @ stub -arch=win32 ?_Addstd@ios_base@std@@SAXPAV12@@Z
From: Vijay Kiran Kamuju infyquest@gmail.com
--- dlls/msvcm80/msvcm80.spec | 4 ++-- dlls/msvcm80/msvcm_main.c | 6 ++++++ dlls/msvcm90/msvcm90.spec | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/dlls/msvcm80/msvcm80.spec b/dlls/msvcm80/msvcm80.spec index 5f9c10715f0..9644d9c4d24 100644 --- a/dlls/msvcm80/msvcm80.spec +++ b/dlls/msvcm80/msvcm80.spec @@ -7,8 +7,8 @@ @ cdecl -arch=win64 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVString@System@@@Z(ptr) CrtImplementationDetails_ThrowModuleLoadException @ cdecl -arch=win32 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString@System@@P$AAVException@3@@Z(ptr ptr) CrtImplementationDetails_ThrowModuleLoadException_Inner @ cdecl -arch=win64 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVString@System@@PE$AAVException@3@@Z(ptr ptr) CrtImplementationDetails_ThrowModuleLoadException_Inner -@ stub -arch=win32 ?ThrowNestedModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVException@System@@0@Z -@ stub -arch=win64 ?ThrowNestedModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVException@System@@0@Z +@ cdecl -arch=win32 ?ThrowNestedModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVException@System@@0@Z(ptr ptr) CrtImplementationDetails_ThrowNestedModuleLoadException +@ cdecl -arch=win64 ?ThrowNestedModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVException@System@@0@Z(ptr ptr) CrtTmplementationDetails_ThrowNestedModuleLoadException @ stub -arch=win32 ?_Addstd@ios_base@std@@SAXPAV12@@Z @ stub -arch=win64 ?_Addstd@ios_base@std@@SAXPEAV12@@Z @ stub ?_Atexit@@YAXP6AXXZ@Z diff --git a/dlls/msvcm80/msvcm_main.c b/dlls/msvcm80/msvcm_main.c index d963e18863d..4b690b415cc 100644 --- a/dlls/msvcm80/msvcm_main.c +++ b/dlls/msvcm80/msvcm_main.c @@ -55,3 +55,9 @@ void __cdecl CrtImplementationDetails_ThrowModuleLoadException_Inner(void* messa { FIXME("%p %p: stub\n", message, inner); } + +/* void __cdecl <CrtImplementationDetails>::ThrowNestedModuleLoadException(System.Exception^, System.Exception^) */ +void __cdecl CrtImplementationDetails_ThrowNestedModuleLoadException(void *inner, void* nested) +{ + FIXME("%p: stub\n", nested); +} diff --git a/dlls/msvcm90/msvcm90.spec b/dlls/msvcm90/msvcm90.spec index f9e3d0410de..482469baa89 100644 --- a/dlls/msvcm90/msvcm90.spec +++ b/dlls/msvcm90/msvcm90.spec @@ -7,8 +7,8 @@ @ cdecl -arch=win64 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVString@System@@@Z(ptr) CrtImplementationDetails_ThrowModuleLoadException @ cdecl -arch=win32 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString@System@@P$AAVException@3@@Z(ptr ptr) CrtImplementationDetails_ThrowModuleLoadException_Inner @ cdecl -arch=win64 ?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVString@System@@PE$AAVException@3@@Z(ptr ptr) CrtImplementationDetails_ThrowModuleLoadException_Inner -@ stub -arch=win32 ?ThrowNestedModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVException@System@@0@Z -@ stub -arch=win64 ?ThrowNestedModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVException@System@@0@Z +@ cdecl -arch=win32 ?ThrowNestedModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVException@System@@0@Z(ptr ptr) CrtImplementationDetails_ThrowNestedModuleLoadException +@ cdecl -arch=win64 ?ThrowNestedModuleLoadException@<CrtImplementationDetails>@@YAXPE$AAVException@System@@0@Z(ptr ptr) CrtImplmentationDetails_ThrowNestedModuleLoadException @ stub -arch=win32 ?_Addstd@ios_base@std@@SAXPAV12@@Z @ stub -arch=win64 ?_Addstd@ios_base@std@@SAXPEAV12@@Z @ stub ?_Atexit@@YAXP6AXXZ@Z
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=140718
Your paranoid android.
=== debian11b (build log) ===
/usr/bin/x86_64-w64-mingw32-ld: tmp65ad8037/msvcm90-00000000.spec.o:fake:(.edata+0x3c): undefined reference to `CrtImplmentationDetails_ThrowNestedModuleLoadException' /usr/bin/x86_64-w64-mingw32-ld: tmp65ad8035/msvcm80-00000000.spec.o:fake:(.edata+0x3c): undefined reference to `CrtTmplementationDetails_ThrowNestedModuleLoadException' collect2: error: ld returned 1 exit status collect2: error: ld returned 1 exit status Task: The wow64 Wine build failed