This allows to remove the whole pre_c_init() function and registration of pcinit hook. --- mingw-w64-crt/crt/crtdll.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-)
diff --git a/mingw-w64-crt/crt/crtdll.c b/mingw-w64-crt/crt/crtdll.c index 797a8ab54e1d..6c6ea38f03f7 100644 --- a/mingw-w64-crt/crt/crtdll.c +++ b/mingw-w64-crt/crt/crtdll.c @@ -57,16 +57,6 @@ extern WINBOOL WINAPI DllMain (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreser extern WINBOOL WINAPI DllEntryPoint (HANDLE, DWORD, LPVOID); -static int pre_c_init (void); - -_CRTALLOC(".CRT$XIAA") _PIFV pcinit = pre_c_init; - -static int -pre_c_init (void) -{ - return _initialize_onexit_table(&atexit_table); -} - WINBOOL WINAPI _CRT_INIT (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) { if (dwReason == DLL_PROCESS_DETACH) @@ -105,6 +95,9 @@ WINBOOL WINAPI _CRT_INIT (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) #if defined(__x86_64__) && !defined(__SEH__) __mingw_init_ehandler (); #endif + ret = _initialize_onexit_table (&atexit_table); + if (ret != 0) + goto i__leave; ret = _initterm_e (__xi_a, __xi_z); if (ret != 0) goto i__leave; -- 2.20.1 _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public