Reset thread floating point settings on new thread

This should make FP operations across thread somewhat consistent.
Patch approved by Kai.

(cherry picked from commit d82c6defa723b6e7986091ce0fb74da544b9e0f6)
diff --git a/mingw-w64-crt/crt/tlssup.c b/mingw-w64-crt/crt/tlssup.c
index 16a602f..b1db2ed 100644
--- a/mingw-w64-crt/crt/tlssup.c
+++ b/mingw-w64-crt/crt/tlssup.c
@@ -29,6 +29,7 @@
 #endif
 
 extern WINBOOL __mingw_TLScallback (HANDLE hDllHandle, DWORD reason, LPVOID reserved);
+extern void __cdecl __MINGW_NOTHROW _fpreset (void);
 
 #define FUNCS_PER_NODE 30
 
@@ -95,6 +96,7 @@
       return TRUE;
     }
 
+  _fpreset();
   ps = (uintptr_t) &__xd_a;
   ps += sizeof (uintptr_t);
   for ( ; ps != (uintptr_t) &__xd_z; ps += sizeof (uintptr_t))