https://git.reactos.org/?p=reactos.git;a=commitdiff;h=1a6b6a27b2e39ed47dc4dff04f104e1b8171a638

commit 1a6b6a27b2e39ed47dc4dff04f104e1b8171a638
Author:     Timo Kreuzer <timo.kreu...@reactos.org>
AuthorDate: Wed Sep 20 15:42:04 2023 +0300
Commit:     Timo Kreuzer <timo.kreu...@reactos.org>
CommitDate: Sat Dec 16 13:52:15 2023 +0200

    [MSVCRT] Initialize exception support in DllMain
---
 dll/win32/msvcrt/dllmain.c   | 3 +++
 dll/win32/msvcrt/msvcrt.spec | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/dll/win32/msvcrt/dllmain.c b/dll/win32/msvcrt/dllmain.c
index d47430db39e..8d556bdb5c0 100644
--- a/dll/win32/msvcrt/dllmain.c
+++ b/dll/win32/msvcrt/dllmain.c
@@ -30,6 +30,7 @@ extern char** _environ;      /* pointer to environment block 
*/
 extern char** __initenv;     /* pointer to initial environment block */
 extern wchar_t** _wenviron;  /* pointer to environment block */
 extern wchar_t** __winitenv; /* pointer to initial environment block */
+extern void msvcrt_init_exception(void*) DECLSPEC_HIDDEN;
 
 /* LIBRARY ENTRY POINT 
********************************************************/
 
@@ -43,6 +44,8 @@ DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved)
 
         TRACE("Process Attach\n");
 
+        msvcrt_init_exception(hinstDll);
+
         if (!crt_process_init())
         {
             ERR("crt_init() failed!\n");
diff --git a/dll/win32/msvcrt/msvcrt.spec b/dll/win32/msvcrt/msvcrt.spec
index 0cd58fe0fd0..76e7d0b37f3 100644
--- a/dll/win32/msvcrt/msvcrt.spec
+++ b/dll/win32/msvcrt/msvcrt.spec
@@ -934,7 +934,7 @@
 @ stub -version=0x600+ _scwprintf_p_l
 @ cdecl _searchenv(str str ptr)
 @ cdecl -version=0x600+ _searchenv_s(str str ptr long)
-@ stub -version=0x600+ -arch=i386 _seh_longjmp_unwind4
+@ stdcall -version=0x600+ -arch=i386 _seh_longjmp_unwind4(ptr)
 @ stdcall -arch=i386 _seh_longjmp_unwind(ptr)
 @ stub -arch=i386 _set_SSE2_enable
 @ stub -version=0x600+ _set_controlfp

Reply via email to