[arch-commits] Commit in qt5-webkit/trunk (PKGBUILD qt5-webkit-gcc7.patch)
Antonio Rojas
arojas at archlinux.org
Sun Jul 2 10:17:41 UTC 2017
Date: Sunday, July 2, 2017 @ 10:17:40
Author: arojas
Revision: 299540
Add patch for segfaults with GCC7
Added:
qt5-webkit/trunk/qt5-webkit-gcc7.patch
Modified:
qt5-webkit/trunk/PKGBUILD
-----------------------+
PKGBUILD | 11 ++++++++---
qt5-webkit-gcc7.patch | 34 ++++++++++++++++++++++++++++++++++
2 files changed, 42 insertions(+), 3 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2017-07-02 09:22:08 UTC (rev 299539)
+++ PKGBUILD 2017-07-02 10:17:40 UTC (rev 299540)
@@ -6,7 +6,7 @@
pkgname=qt5-webkit
_qtver=5.212.0-alpha2
pkgver=${_qtver/-/}
-pkgrel=3
+pkgrel=4
arch=(i686 x86_64)
url='http://qt-project.org/'
license=(GPL3 LGPL3 FDL custom)
@@ -18,11 +18,16 @@
replaces=(qt5-webkit-ng)
groups=(qt qt5)
_pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}"
-source=("https://github.com/annulen/webkit/releases/download/qtwebkit-$_qtver/qtwebkit-$_qtver.tar.xz")
-sha256sums=('f8f901de567e11fc5659402b6b827eac75505ff9c5072d8e919aa306003f8f8a')
+source=("https://github.com/annulen/webkit/releases/download/qtwebkit-$_qtver/qtwebkit-$_qtver.tar.xz" qt5-webkit-gcc7.patch)
+sha256sums=('f8f901de567e11fc5659402b6b827eac75505ff9c5072d8e919aa306003f8f8a'
+ 'f108833562d766d4c086026f9202b2ebc8c19e97fddedce952afed78df3c0720')
prepare() {
mkdir -p build
+
+# Fix crashes with GCC7 https://bugs.webkit.org/show_bug.cgi?id=173407
+ cd qtwebkit-$_qtver
+ patch -p1 -i ../qt5-webkit-gcc7.patch
}
build() {
Added: qt5-webkit-gcc7.patch
===================================================================
--- qt5-webkit-gcc7.patch (rev 0)
+++ qt5-webkit-gcc7.patch 2017-07-02 10:17:40 UTC (rev 299540)
@@ -0,0 +1,34 @@
+diff -u -r webkitgtk-2.16.5/Source/WTF/wtf/text/StringImpl.h webkitgtk-2.16.5-gcc7/Source/WTF/wtf/text/StringImpl.h
+--- webkitgtk-2.16.5/Source/WTF/wtf/text/StringImpl.h 2017-02-20 17:20:15.000000000 +0100
++++ webkitgtk-2.16.5-gcc7/Source/WTF/wtf/text/StringImpl.h 2017-06-27 13:13:57.801527350 +0200
+@@ -581,29 +581,7 @@
+ // FIXME: Does this really belong in StringImpl?
+ template <typename T> static void copyChars(T* destination, const T* source, unsigned numCharacters)
+ {
+- if (numCharacters == 1) {
+- *destination = *source;
+- return;
+- }
+-
+- if (numCharacters <= s_copyCharsInlineCutOff) {
+- unsigned i = 0;
+-#if (CPU(X86) || CPU(X86_64))
+- const unsigned charsPerInt = sizeof(uint32_t) / sizeof(T);
+-
+- if (numCharacters > charsPerInt) {
+- unsigned stopCount = numCharacters & ~(charsPerInt - 1);
+-
+- const uint32_t* srcCharacters = reinterpret_cast<const uint32_t*>(source);
+- uint32_t* destCharacters = reinterpret_cast<uint32_t*>(destination);
+- for (unsigned j = 0; i < stopCount; i += charsPerInt, ++j)
+- destCharacters[j] = srcCharacters[j];
+- }
+-#endif
+- for (; i < numCharacters; ++i)
+- destination[i] = source[i];
+- } else
+- memcpy(destination, source, numCharacters * sizeof(T));
++ memcpy(destination, source, numCharacters * sizeof(T));
+ }
+
+ ALWAYS_INLINE static void copyChars(UChar* destination, const LChar* source, unsigned numCharacters)
More information about the arch-commits
mailing list