d5a3fa6867
qt 4.6.x has a number of new configure options, and needs a patch to work on uClibc. Signed-off-by: Frederik Vannoote <frederik.vannoote@barco.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
28 lines
1.4 KiB
Diff
28 lines
1.4 KiB
Diff
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
|