diff -ur qt-win-opensource-src-4.4.3.orig/src/corelib/tools/qlocale.cpp qt-win-opensource-src-4.4.3/src/corelib/tools/qlocale.cpp --- qt-win-opensource-src-4.4.3.orig/src/corelib/tools/qlocale.cpp 2008-09-27 10:00:55.000000000 +0100 +++ qt-win-opensource-src-4.4.3/src/corelib/tools/qlocale.cpp 2009-02-02 11:39:40.000000000 +0000 @@ -6238,6 +6238,10 @@ Q_CORE_EXPORT char *qdtoa ( double d, int mode, int ndigits, int *decpt, int *sign, char **rve, char **resultp) { + // RWMJ: The 8087-twiddling functions just don't seem to exist + // in MinGW cross-compiler, so comment out that code and hope for + // the best ... +#if 0 // Some values of the floating-point control word can cause _qdtoa to crash with an underflow. // We set a safe value here. #ifdef Q_OS_WIN @@ -6257,9 +6261,11 @@ fenv_t envp; feholdexcept(&envp); #endif +#endif char *s = _qdtoa(d, mode, ndigits, decpt, sign, rve, resultp); +#if 0 // RWMJ - see above. #ifdef Q_OS_WIN _clear87(); #ifndef _M_X64 @@ -6272,6 +6278,7 @@ #if defined(Q_OS_LINUX) && !defined(__UCLIBC__) fesetenv(&envp); #endif +#endif return s; }