diff options
Diffstat (limited to 'recipes-qt/qt5/qtbase/0014-Fix-qmake-build-with-glibc-2.28.patch')
| -rw-r--r-- | recipes-qt/qt5/qtbase/0014-Fix-qmake-build-with-glibc-2.28.patch | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/recipes-qt/qt5/qtbase/0014-Fix-qmake-build-with-glibc-2.28.patch b/recipes-qt/qt5/qtbase/0014-Fix-qmake-build-with-glibc-2.28.patch new file mode 100644 index 00000000..0cfd5428 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0014-Fix-qmake-build-with-glibc-2.28.patch | |||
| @@ -0,0 +1,69 @@ | |||
| 1 | From 721d05fbe9e70518ed2288c089ff5d4036ea7ac7 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Thiago Macieira <thiago.macieira@intel.com> | ||
| 3 | Date: Tue, 7 Aug 2018 09:38:42 -0700 | ||
| 4 | Subject: [PATCH] Fix qmake build with glibc 2.28 | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | We haven't yet run the configure checks to see if statx and renameat2 | ||
| 10 | are present in glibc, so this fails when we redefine the structures and | ||
| 11 | functions. | ||
| 12 | |||
| 13 | linux/stat.h:56:8: error: redefinition of 'struct statx_timestamp' | ||
| 14 | bits/statx.h:25:8: note: previous definition of 'struct statx_timestamp' | ||
| 15 | qfilesystemengine_unix.cpp:110:12: error: 'int renameat2(int, const char*, int, const char*, unsigned int)' was declared 'extern' and later 'static' [-fpermissive] | ||
| 16 | |||
| 17 | Change-Id: Ia741b559c24d46c78fb2fffd1548a792d22e3368 | ||
| 18 | Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> | ||
| 19 | Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> | ||
| 20 | --- | ||
| 21 | src/corelib/global/qconfig-bootstrapped.h | 12 ++++++++++-- | ||
| 22 | src/corelib/io/qfilesystemengine_unix.cpp | 2 +- | ||
| 23 | 2 files changed, 11 insertions(+), 3 deletions(-) | ||
| 24 | |||
| 25 | diff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h | ||
| 26 | index 3469ebe5e6..c5585ea32a 100644 | ||
| 27 | --- a/src/corelib/global/qconfig-bootstrapped.h | ||
| 28 | +++ b/src/corelib/global/qconfig-bootstrapped.h | ||
| 29 | @@ -98,10 +98,18 @@ | ||
| 30 | #define QT_NO_QOBJECT | ||
| 31 | #define QT_FEATURE_process -1 | ||
| 32 | #define QT_FEATURE_regularexpression -1 | ||
| 33 | -#define QT_FEATURE_renameat2 -1 | ||
| 34 | +#ifdef __GLIBC_PREREQ | ||
| 35 | +# define QT_FEATURE_renameat2 (__GLIBC_PREREQ(2, 28) ? 1 : -1) | ||
| 36 | +#else | ||
| 37 | +# define QT_FEATURE_renameat2 -1 | ||
| 38 | +#endif | ||
| 39 | #define QT_FEATURE_sharedmemory -1 | ||
| 40 | #define QT_FEATURE_slog2 -1 | ||
| 41 | -#define QT_FEATURE_statx -1 | ||
| 42 | +#ifdef __GLIBC_PREREQ | ||
| 43 | +# define QT_FEATURE_statx (__GLIBC_PREREQ(2, 28) ? 1 : -1) | ||
| 44 | +#else | ||
| 45 | +# define QT_FEATURE_statx -1 | ||
| 46 | +#endif | ||
| 47 | #define QT_FEATURE_syslog -1 | ||
| 48 | #define QT_NO_SYSTEMLOCALE | ||
| 49 | #define QT_FEATURE_systemsemaphore -1 | ||
| 50 | diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp | ||
| 51 | index be6ce48d0c..3e4f33a3ba 100644 | ||
| 52 | --- a/src/corelib/io/qfilesystemengine_unix.cpp | ||
| 53 | +++ b/src/corelib/io/qfilesystemengine_unix.cpp | ||
| 54 | @@ -91,7 +91,6 @@ extern "C" NSString *NSTemporaryDirectory(); | ||
| 55 | # include <sys/syscall.h> | ||
| 56 | # include <sys/sendfile.h> | ||
| 57 | # include <linux/fs.h> | ||
| 58 | -# include <linux/stat.h> | ||
| 59 | |||
| 60 | // in case linux/fs.h is too old and doesn't define it: | ||
| 61 | #ifndef FICLONE | ||
| 62 | @@ -112,6 +111,7 @@ static int renameat2(int oldfd, const char *oldpath, int newfd, const char *newp | ||
| 63 | # endif | ||
| 64 | |||
| 65 | # if !QT_CONFIG(statx) && defined(SYS_statx) | ||
| 66 | +# include <linux/stat.h> | ||
| 67 | static int statx(int dirfd, const char *pathname, int flag, unsigned mask, struct statx *statxbuf) | ||
| 68 | { return syscall(SYS_statx, dirfd, pathname, flag, mask, statxbuf); } | ||
| 69 | # elif !QT_CONFIG(statx) && !defined(SYS_statx) | ||
