From d5a3fa6867b75971b8d713653e0665ce0ef9f267 Mon Sep 17 00:00:00 2001 From: Frederik Vannoote Date: Fri, 2 Apr 2010 15:33:28 +0200 Subject: qt: bump version qt 4.6.x has a number of new configure options, and needs a patch to work on uClibc. Signed-off-by: Frederik Vannoote Signed-off-by: Peter Korsgaard --- package/qt/qt-4.6.2-fix-qt-uclibc-build.patch | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 package/qt/qt-4.6.2-fix-qt-uclibc-build.patch (limited to 'package/qt/qt-4.6.2-fix-qt-uclibc-build.patch') diff --git a/package/qt/qt-4.6.2-fix-qt-uclibc-build.patch b/package/qt/qt-4.6.2-fix-qt-uclibc-build.patch new file mode 100644 index 000000000..a76774bbc --- /dev/null +++ b/package/qt/qt-4.6.2-fix-qt-uclibc-build.patch @@ -0,0 +1,27 @@ +From http://bugreports.qt.nokia.com/browse/QTBUG-8365 + +Starting a QtEmbedded-4.6.2 application linked against uClibc 0.9.30.1 results +in an immediate segmentation fault. +This is due to an incompatibility of the uClibc with the standard libc about +the "realpath" function. The man of the function clearly specifies that +"if resolved path (the second argument) is NULL, then realpath uses malloc to +allocate a buffer ...". However, uClibc doesn't support this functionality and +issues a warning at compile-time when the function is called with a NULL +argument. +--- +diff -aurp -x '*.o' qt-everywhere-opensource-src-4.6.2-old/src/corelib/io/qfsfileengine.cpp qt-everywhere-opensource-src-4.6.2/src/corelib/io/qfsfileengine.cpp +--- qt-everywhere-opensource-src-4.6.2-old/src/corelib/io/qfsfileengine.cpp 2010-02-11 16:55:23.000000000 +0100 ++++ qt-everywhere-opensource-src-4.6.2/src/corelib/io/qfsfileengine.cpp 2010-02-19 14:57:06.000000000 +0100 +@@ -145,10 +145,9 @@ QString QFSFileEnginePrivate::canonicali + #endif + // Mac OS X 10.5.x doesn't support the realpath(X,0) extenstion we use here. + #if defined(Q_OS_LINUX) || defined(Q_OS_SYMBIAN) +- char *ret = realpath(path.toLocal8Bit().constData(), (char*)0); +- if (ret) { ++ char ret[PATH_MAX]; ++ if (realpath(path.toLocal8Bit().constData(), ret)) { + QString canonicalPath = QDir::cleanPath(QString::fromLocal8Bit(ret)); +- free(ret); + return canonicalPath; + } + #endif -- cgit v1.2.3