https://git.reactos.org/?p=reactos.git;a=commitdiff;h=28a0aa9ae84cacc71f9edae33b4de1e3697f9e76

commit 28a0aa9ae84cacc71f9edae33b4de1e3697f9e76
Author:     Mark Jansen <[email protected]>
AuthorDate: Thu Jul 4 23:06:51 2019 +0200
Commit:     Mark Jansen <[email protected]>
CommitDate: Sat Jul 6 11:37:30 2019 +0200

    [CRT] Remove mingwm10.dll usage in tls support code
    CORE-15491
---
 sdk/lib/crt/startup/tlsmthread.c | 11 -----------
 sdk/lib/crt/startup/tlssup.c     | 30 ------------------------------
 2 files changed, 41 deletions(-)

diff --git a/sdk/lib/crt/startup/tlsmthread.c b/sdk/lib/crt/startup/tlsmthread.c
index fa11171fc48..9e77c34d7f1 100644
--- a/sdk/lib/crt/startup/tlsmthread.c
+++ b/sdk/lib/crt/startup/tlsmthread.c
@@ -20,11 +20,6 @@ extern int ___w64_mingwthr_add_key_dtor (DWORD key, void 
(*dtor)(void *));
 
 
 #ifndef _WIN64
-#define MINGWM10_DLL "mingwm10.dll"
-typedef int (*fMTRemoveKeyDtor)(DWORD key);
-typedef int (*fMTKeyDtor)(DWORD key, void (*dtor)(void *));
-extern fMTRemoveKeyDtor __mingw_gMTRemoveKeyDtor;
-extern fMTKeyDtor __mingw_gMTKeyDtor;
 extern int __mingw_usemthread_dll;
 #endif
 
@@ -36,8 +31,6 @@ __mingwthr_remove_key_dtor (DWORD key)
 #endif
      return ___w64_mingwthr_remove_key_dtor (key);
 #ifndef _WIN64
-  if (__mingw_gMTRemoveKeyDtor)
-    return (*__mingw_gMTRemoveKeyDtor) (key);
   return 0;
 #endif
 }
@@ -51,10 +44,6 @@ __mingwthr_key_dtor (DWORD key, void (*dtor)(void *))
       if (!__mingw_usemthread_dll)
 #endif
         return ___w64_mingwthr_add_key_dtor (key, dtor);
-#ifndef _WIN64
-      if (__mingw_gMTKeyDtor)
-       return (*__mingw_gMTKeyDtor) (key, dtor);
-#endif
     }
   return 0;
 }
diff --git a/sdk/lib/crt/startup/tlssup.c b/sdk/lib/crt/startup/tlssup.c
index 220678c1c15..e52a554536c 100644
--- a/sdk/lib/crt/startup/tlssup.c
+++ b/sdk/lib/crt/startup/tlssup.c
@@ -81,13 +81,7 @@ static __CRT_THREAD TlsDtorNode dtor_list_head;
 extern int _CRT_MT;
 
 #ifndef _WIN64
-#define MINGWM10_DLL "mingwm10.dll"
-typedef int (*fMTRemoveKeyDtor)(DWORD key);
-typedef int (*fMTKeyDtor)(DWORD key, void (*dtor)(void *));
-fMTRemoveKeyDtor __mingw_gMTRemoveKeyDtor;
-fMTKeyDtor __mingw_gMTKeyDtor;
 int __mingw_usemthread_dll;
-static HANDLE __mingw_mthread_hdll;
 #endif
 
 BOOL WINAPI __dyn_tls_init (HANDLE, DWORD, LPVOID);
@@ -98,30 +92,6 @@ __dyn_tls_init (HANDLE hDllHandle, DWORD dwReason, LPVOID 
lpreserved)
   _PVFV *pfunc;
   uintptr_t ps;
 
-#ifndef _WIN64
-  if (_winmajor < 4)
-  {
-    __mingw_usemthread_dll = 1;
-    __mingw_mthread_hdll = LoadLibrary (MINGWM10_DLL);
-    if (__mingw_mthread_hdll != NULL)
-    {
-      __mingw_gMTRemoveKeyDtor = (fMTRemoveKeyDtor) GetProcAddress 
(__mingw_mthread_hdll, "__mingwthr_remove_key_dtor");
-      __mingw_gMTKeyDtor = (fMTKeyDtor)  GetProcAddress (__mingw_mthread_hdll, 
"__mingwthr_key_dtor");
-    }
-    if (__mingw_mthread_hdll == NULL || !__mingw_gMTRemoveKeyDtor || 
!__mingw_gMTKeyDtor)
-      {
-       __mingw_gMTKeyDtor = NULL;
-       __mingw_gMTRemoveKeyDtor = NULL;
-       if (__mingw_mthread_hdll)
-         FreeLibrary (__mingw_mthread_hdll);
-       __mingw_mthread_hdll = NULL;
-       _CRT_MT = 0;
-       return TRUE;
-      }
-    _CRT_MT = 1;
-    return TRUE;
-  }
-#endif
   /* We don't let us trick here.  */
   if (_CRT_MT != 2)
    _CRT_MT = 2;

Reply via email to