commit 28132e7191db565999c64ca9cb60722a3e1f4825
Author: Kevin Kofler <kevin.kofler(a)chello.at>
Date: Tue May 22 00:19:56 2018 +0200
Add patch by spot from the Fedora Chromium RPM for FTBFS with GCC 8 on i686
qt5-qtwebengine-freeworld.spec | 7 +++++++
qtwebengine-everywhere-src-5.10.1-gcc8-alignof.patch | 18 ++++++++++++++++++
2 files changed, 25 insertions(+)
---
diff --git a/qt5-qtwebengine-freeworld.spec b/qt5-qtwebengine-freeworld.spec
index a159b7e..d7bee1a 100644
--- a/qt5-qtwebengine-freeworld.spec
+++ b/qt5-qtwebengine-freeworld.spec
@@ -97,6 +97,11 @@ Patch21: qtwebengine-everywhere-src-5.10.0-gn-bootstrap-verbose.patch
#
https://codereview.qt-project.org/#/c/196922/
# see QTBUG-60886 and QTBUG-65090
Patch22: qtwebengine-everywhere-src-5.10.0-icu59.patch
+# Fix FTBFS with GCC 8 on i686: GCC8 has changed the alignof operator to return
+# the minimal alignment required by the target ABI instead of the preferred
+# alignment. This means int64_t is now 4 on i686 (instead of 8). Use __alignof__
+# to get the value we expect (and chromium checks for). Patch by spot.
+Patch23: qtwebengine-everywhere-src-5.10.1-gcc8-alignof.patch
## Upstream patches:
# drop support for obsolete Unicode "aspirational scripts" (dropped in UTS
31),
# fixes #error with ICU >= 60 (which was a reminder to double-check the list)
@@ -341,6 +346,7 @@ This version is compiled with support for patent-encumbered codecs
enabled.
%patch12 -p1 -b .webrtc-neon-detect
%patch21 -p1 -b .gn-bootstrap-verbose
%patch22 -p1 -b .icu59
+%patch23 -p1 -b .gcc8
%patch100 -p1 -b .no-aspirational-scripts
%patch101 -p1 -b .security-5.9.5
%patch102 -p1 -b .CVE-2018-6033
@@ -431,6 +437,7 @@ echo "%{_libdir}/%{name}" \
%changelog
* Mon May 21 2018 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 5.10.1-5
- Use the FFmpeg 4 patch from Arch Linux, the previous one crashed (rh#1563446)
+- Add patch by spot from the Fedora Chromium RPM for FTBFS with GCC 8 on i686
* Sun Mar 18 2018 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 5.10.1-4
- Fix (from 5.9.5) for incomplete, ineffective fix for CVE-2018-6033 in 5.10.1
diff --git a/qtwebengine-everywhere-src-5.10.1-gcc8-alignof.patch
b/qtwebengine-everywhere-src-5.10.1-gcc8-alignof.patch
new file mode 100644
index 0000000..ff007b7
--- /dev/null
+++ b/qtwebengine-everywhere-src-5.10.1-gcc8-alignof.patch
@@ -0,0 +1,18 @@
+diff -up
qtwebengine-everywhere-src-5.10.1/src/3rdparty/chromium/mojo/public/c/system/macros.h.gcc8-alignof
qtwebengine-everywhere-src-5.10.1/src/3rdparty/chromium/mojo/public/c/system/macros.h
+---
qtwebengine-everywhere-src-5.10.1/src/3rdparty/chromium/mojo/public/c/system/macros.h.gcc8-alignof 2018-05-15
14:58:46.448912634 -0400
++++
qtwebengine-everywhere-src-5.10.1/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)