]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
webkitgtk: Add patch to fix gcc5 compile issues
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 14 Sep 2015 09:02:48 +0000 (09:02 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 14 Sep 2015 09:44:10 +0000 (10:44 +0100)
Without this patch, webkitgtk fails to build with gcc5. I found Khem had
sent the patch against Qt for the same issue we were seeing on mips/ppc.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-sato/webkit/webkitgtk/gcc5.patch [new file with mode: 0644]
meta/recipes-sato/webkit/webkitgtk_2.8.5.bb

diff --git a/meta/recipes-sato/webkit/webkitgtk/gcc5.patch b/meta/recipes-sato/webkit/webkitgtk/gcc5.patch
new file mode 100644 (file)
index 0000000..5951a81
--- /dev/null
@@ -0,0 +1,26 @@
+JSObject: Create explicit instantiation of putByIndexBeyondVectorLengthWithoutAttributes
+
+Reason for change: newer gcc might optimize away the templates
+and they wont be available for other .cpp files to use as these
+are used in a different .cpp we need to tell compiler to explicitly
+instantiate them.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+
+Index: webkitgtk-2.8.5/Source/JavaScriptCore/runtime/JSObject.cpp
+===================================================================
+--- webkitgtk-2.8.5.orig/Source/JavaScriptCore/runtime/JSObject.cpp
++++ webkitgtk-2.8.5/Source/JavaScriptCore/runtime/JSObject.cpp
+@@ -1965,6 +1965,10 @@ void JSObject::putByIndexBeyondVectorLen
+     }
+ }
++template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<Int32Shape>(ExecState* exec, unsigned i, JSValue value);
++template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<DoubleShape>(ExecState* exec, unsigned i, JSValue value);
++template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<ContiguousShape>(ExecState* exec, unsigned i, JSValue value);
++
+ void JSObject::putByIndexBeyondVectorLengthWithArrayStorage(ExecState* exec, unsigned i, JSValue value, bool shouldThrow, ArrayStorage* storage)
+ {
+     VM& vm = exec->vm();
index 365f20bbb8b3bd9d496394672d563513d2587b5b..82d670d9441d6393b82f452a8de9eee728687030 100644 (file)
@@ -13,6 +13,7 @@ LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d842
 SRC_URI = "\
   http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
   file://0001-This-patch-fixes-a-command-line-that-is-too-long-ove.patch \
+  file://gcc5.patch \
   "
 SRC_URI[md5sum] = "df79991848a5096d3a75289ebce547ae"
 SRC_URI[sha256sum] = "3d1f0c534935f43fd74df90f2648fcee672d60f1f57a30fa557a77891ae04d20"