summaryrefslogtreecommitdiffstats
path: root/winsup/mingw/crt1.c
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/mingw/crt1.c')
-rw-r--r--winsup/mingw/crt1.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/winsup/mingw/crt1.c b/winsup/mingw/crt1.c
index ad3ed7147..104f6b783 100644
--- a/winsup/mingw/crt1.c
+++ b/winsup/mingw/crt1.c
@@ -34,6 +34,9 @@ extern void _pei386_runtime_relocator (void);
extern int main (int, char **, char **);
+/* TLS initialization hook. */
+extern const PIMAGE_TLS_CALLBACK __dyn_tls_init_callback;
+
/*
* Must have the correct app type for MSVCRT.
*/
@@ -186,6 +189,10 @@ __mingw_CRTStartup (void)
{
int nRet;
+ /* Initialize TLS callback. */
+ if (__dyn_tls_init_callback != NULL)
+ __dyn_tls_init_callback (NULL, DLL_THREAD_ATTACH, NULL);
+
/*
* Set up the top-level exception handler so that signal handling
* works as expected. The mapping between ANSI/POSIX signals and