Add patch by spot from the Fedora Chromium RPM for FTBFS with GCC 8 on i686

epel9
Rex Dieter 7 years ago
parent aee3cb4c6f
commit ba69fc4e94

@ -112,6 +112,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)
@ -373,6 +378,7 @@ BuildArch: noarch
%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
@ -583,6 +589,7 @@ done
%changelog
* Sun May 27 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.10.1-7
- rebuild (qt5 5.11.0)
- Add patch by spot from the Fedora Chromium RPM for FTBFS with GCC 8 on i686
* Mon Apr 30 2018 Pete Walter <pwalter@fedoraproject.org> - 5.10.1-6
- Rebuild for ICU 61.1

@ -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)
Loading…
Cancel
Save