diff options
Diffstat (limited to 'x11-libs/qt/files/qt-3.3.8-mips.patch')
-rw-r--r-- | x11-libs/qt/files/qt-3.3.8-mips.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/x11-libs/qt/files/qt-3.3.8-mips.patch b/x11-libs/qt/files/qt-3.3.8-mips.patch new file mode 100644 index 000000000000..1f70900f7bf4 --- /dev/null +++ b/x11-libs/qt/files/qt-3.3.8-mips.patch @@ -0,0 +1,39 @@ +Bug 210551. +Fix compilation on mips + +Original commit message by Christopher Martin, debian bug 342545. + + * Add a patch, courtesy of Steve Langasek, that fixes + qt-x11-free's longstanding intermittent FTBFS on hppa, caused + by "the bogus assumption in src/tools/qlocale.cpp that a + char[] can be cast to a double *." (Closes: #342545) + +--- qt-x11-free-3.3.6.orig/src/tools/qlocale.cpp ++++ qt-x11-free-3.3.6/src/tools/qlocale.cpp +@@ -122,13 +122,24 @@ + #endif + + // We can't rely on -NAN, since all operations on a NAN should return a NAN. ++static double be_neg_nan; ++static double le_neg_nan; + static const unsigned char be_neg_nan_bytes[] = { 0xff, 0xf8, 0, 0, 0, 0, 0, 0 }; + static const unsigned char le_neg_nan_bytes[] = { 0, 0, 0, 0, 0, 0, 0xf8, 0xff }; ++static bool neg_nan_init = false; ++ + static inline double negNan() + { ++ if (!neg_nan_init) ++ { ++ memcpy(&be_neg_nan,be_neg_nan_bytes,sizeof(be_neg_nan_bytes)); ++ memcpy(&le_neg_nan,le_neg_nan_bytes,sizeof(le_neg_nan_bytes)); ++ neg_nan_init = true; ++ } + return (ByteOrder == BigEndian ? +- *((const double *) be_neg_nan_bytes) : +- *((const double *) le_neg_nan_bytes)); ++ be_neg_nan : ++ le_neg_nan); ++ + } + + // Sizes as defined by the ISO C99 standard - fallback |