summaryrefslogtreecommitdiffstats
path: root/libraries/qt5/patches/qt5.webengine_gcc8.patch
diff options
context:
space:
mode:
author Matteo Bernardini2019-10-08 10:01:48 +0200
committer Matteo Bernardini2019-10-08 10:01:48 +0200
commitc632835a841a449db663e3b03c0fa73672b56557 (patch)
tree221df3fbfe8006acb271b605e70b498e9eb7bade /libraries/qt5/patches/qt5.webengine_gcc8.patch
parent0f41388fbdebf3a7e930962dd49fd0a2ee704fae (diff)
downloadslackbuilds-current-20191008.1.tar.gz
20191008.1 global branch merge.current-20191008.1
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
Diffstat (limited to 'libraries/qt5/patches/qt5.webengine_gcc8.patch')
-rw-r--r--libraries/qt5/patches/qt5.webengine_gcc8.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/libraries/qt5/patches/qt5.webengine_gcc8.patch b/libraries/qt5/patches/qt5.webengine_gcc8.patch
new file mode 100644
index 0000000000..cf276bc732
--- /dev/null
+++ b/libraries/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)