[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