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) | ||