diff options
Diffstat (limited to 'source/l/qt5/patches/qt5.webengine_gcc8.patch')
-rw-r--r-- | source/l/qt5/patches/qt5.webengine_gcc8.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/source/l/qt5/patches/qt5.webengine_gcc8.patch b/source/l/qt5/patches/qt5.webengine_gcc8.patch new file mode 100644 index 000000000..cf276bc73 --- /dev/null +++ b/source/l/qt5/patches/qt5.webengine_gcc8.patch @@ -0,0 +1,26 @@ +# Prevent these errors caused by using GCC8 +# (original patch taken from Fedora's chromium SRPM): +# +# make: *** [Makefile:1028: module-qtwebengine-make_first] Error 2 +# FAILED: obj/mojo/public/c/system/system/thunks.o +# ../../3rdparty/chromium/mojo/public/c/system/buffer.h:38:42: error: static assertion failed: int64_t has weird alignment +# ../../3rdparty/chromium/mojo/public/c/system/data_pipe.h:49:42: error: static assertion failed: int64_t has weird alignment +# ../../3rdparty/chromium/mojo/public/c/system/message_pipe.h:47:42: error: static assertion failed: int64_t has weird alignment +# +--- a/src/3rdparty/chromium/mojo/public/c/system/macros.h 2018-05-15 14:58:46.448912634 -0400 ++++ b/src/3rdparty/chromium/mojo/public/c/system/macros.h 2018-05-15 14:58:52.041784613 -0400 +@@ -18,7 +18,13 @@ + #endif + + // Like the C++11 |alignof| operator. +-#if __cplusplus >= 201103L ++#if defined(__GNUC__) && __GNUC__ >= 8 ++// GCC 8 has changed the alignof operator to return the minimal alignment ++// required by the target ABI, instead of the preferred alignment. ++// This means that on 32-bit x86, it will return 4 instead of 8. ++// Use __alignof__ instead to avoid this. ++#define MOJO_ALIGNOF(type) __alignof__(type) ++#elif __cplusplus >= 201103L + #define MOJO_ALIGNOF(type) alignof(type) + #elif defined(__GNUC__) + #define MOJO_ALIGNOF(type) __alignof__(type) |