diff options
Diffstat (limited to 'debian/patches')
-rw-r--r-- | debian/patches/05_sparc_unaligned_access.diff | 41 | ||||
-rw-r--r-- | debian/patches/atomic_config_test.diff | 52 | ||||
-rw-r--r-- | debian/patches/blacklist_libkpartsplugin.patch | 30 | ||||
-rw-r--r-- | debian/patches/detect_opengl_es2.diff | 16 | ||||
-rw-r--r-- | debian/patches/do_not_use_jit_on_big_endian_machines.patch | 41 | ||||
-rw-r--r-- | debian/patches/fix_cloop_on_big_endian_machines.patch | 142 | ||||
-rw-r--r-- | debian/patches/fix_copyChars_segfault.diff | 43 | ||||
-rw-r--r-- | debian/patches/fix_crash_when_a_network_request_is_aborted_while_forwarding_data.patch | 38 | ||||
-rw-r--r-- | debian/patches/fix_ftbfs_x32.diff | 15 | ||||
-rw-r--r-- | debian/patches/fix_nonlinux_glibc_linkage.diff | 16 | ||||
-rw-r--r-- | debian/patches/fix_selectedHtml_segfault.diff | 18 | ||||
-rw-r--r-- | debian/patches/hurd.diff | 33 | ||||
-rw-r--r-- | debian/patches/no_gc_sections.diff | 25 | ||||
-rw-r--r-- | debian/patches/path_max.diff | 21 | ||||
-rw-r--r-- | debian/patches/reduce_exports.diff | 26 | ||||
-rw-r--r-- | debian/patches/reduce_memory_usage.patch | 23 | ||||
-rw-r--r-- | debian/patches/series | 22 | ||||
-rw-r--r-- | debian/patches/webkit_qt_hide_symbols.diff | 28 |
18 files changed, 198 insertions, 432 deletions
diff --git a/debian/patches/05_sparc_unaligned_access.diff b/debian/patches/05_sparc_unaligned_access.diff deleted file mode 100644 index f875008..0000000 --- a/debian/patches/05_sparc_unaligned_access.diff +++ /dev/null @@ -1,41 +0,0 @@ -Description: fix some alignment problems on sparc. -Author: Mike Hommey <glandium@debian.org> -Author: Timo Jyrinki <timo@debian.org> -Last-Update: 2013-12-17 - ---- - Source/JavaScriptCore/wtf/ListHashSet.h | 9 +++------ - 1 file changed, 3 insertions(+), 6 deletions(-) - ---- a/Source/WTF/wtf/ListHashSet.h -+++ b/Source/WTF/wtf/ListHashSet.h -@@ -173,7 +173,7 @@ namespace WTF { - : m_freeList(pool()) - , m_isDoneWithInitialFreeList(false) - { -- memset(m_pool.pool, 0, sizeof(m_pool.pool)); -+ memset(m_pool, 0, sizeof(m_pool)); - } - - Node* allocate() -@@ -217,7 +217,7 @@ namespace WTF { - } - - private: -- Node* pool() { return reinterpret_cast_ptr<Node*>(m_pool.pool); } -+ Node* pool() { return reinterpret_cast_ptr<Node*>(m_pool); } - Node* pastPool() { return pool() + m_poolSize; } - bool inPool(Node* node) - { -@@ -227,10 +227,7 @@ namespace WTF { - Node* m_freeList; - bool m_isDoneWithInitialFreeList; - static const size_t m_poolSize = inlineCapacity; -- union { -- char pool[sizeof(Node) * m_poolSize]; -- double forAlignment; -- } m_pool; -+ uint32_t m_pool[(sizeof(Node) * m_poolSize + sizeof(uint32_t) - 1) / sizeof(uint32_t)]; - }; - - template<typename ValueArg, size_t inlineCapacity> struct ListHashSetNode { diff --git a/debian/patches/atomic_config_test.diff b/debian/patches/atomic_config_test.diff new file mode 100644 index 0000000..247c254 --- /dev/null +++ b/debian/patches/atomic_config_test.diff @@ -0,0 +1,52 @@ +Description: improve configuration tests for librt and libatomic +Origin: upstream, https://github.com/annulen/webkit/commit/250709411c49550a +Last-Update: 2017-09-16 + +--- a/Source/WebKit2/CMakeLists.txt ++++ b/Source/WebKit2/CMakeLists.txt +@@ -1,3 +1,6 @@ ++include(CheckCXXSourceCompiles) ++include(CheckFunctionExists) ++ + set(WebKit2_INCLUDE_DIRECTORIES + "${JAVASCRIPTCORE_DIR}/llint" + "${WEBKIT2_DIR}" +@@ -740,11 +743,33 @@ + WebKit2 + ) + +-# librt is needed for shm_open on Linux. +-find_library(LIBRT_LIBRARIES NAMES rt) +-mark_as_advanced(LIBRT_LIBRARIES) +-if (LIBRT_LIBRARIES) +- list(APPEND WebKit2_LIBRARIES ${LIBRT_LIBRARIES}) ++if (COMPILER_IS_GCC_OR_CLANG) ++ set(ATOMIC_TEST_SOURCE ++ " ++ #include <atomic> ++ int main() { std::atomic<int64_t> i(0); i++; return 0; } ++ " ++ ) ++ check_cxx_source_compiles("${ATOMIC_TEST_SOURCE}" ATOMIC_INT64_IS_BUILTIN) ++ if (NOT ATOMIC_INT64_IS_BUILTIN) ++ set(CMAKE_REQUIRED_LIBRARIES atomic) ++ check_cxx_source_compiles("${ATOMIC_TEST_SOURCE}" ATOMIC_INT64_REQUIRES_LIBATOMIC) ++ if (ATOMIC_INT64_REQUIRES_LIBATOMIC) ++ list(APPEND WebKit2_LIBRARIES atomic) ++ endif () ++ unset(CMAKE_REQUIRED_LIBRARIES) ++ endif () ++endif () ++ ++if (UNIX) ++ check_function_exists(shm_open SHM_OPEN_EXISTS) ++ if (NOT SHM_OPEN_EXISTS) ++ set(CMAKE_REQUIRED_LIBRARIES rt) ++ check_function_exists(shm_open SHM_OPEN_REQUIRES_LIBRT) ++ if (SHM_OPEN_REQUIRES_LIBRT) ++ list(APPEND WebKit2_LIBRARIES rt) ++ endif () ++ endif () + endif () + + macro(ADD_WEBKIT2_PREFIX_HEADER _target) diff --git a/debian/patches/blacklist_libkpartsplugin.patch b/debian/patches/blacklist_libkpartsplugin.patch deleted file mode 100644 index 1508042..0000000 --- a/debian/patches/blacklist_libkpartsplugin.patch +++ /dev/null @@ -1,30 +0,0 @@ -From a322d1b1ba39bb83a2ffd41c4dc0c00de5bd77e0 Mon Sep 17 00:00:00 2001 -From: Sune Vuorela <sune@vuorela.dk> -Date: Mon, 13 Oct 2014 20:39:26 +0200 -Subject: [PATCH] Blacklist libkpartsplugin - -KPartsPlugin is built using qt4, and loading that into a Qt5 QtWebkit -makes stuff crash. - -Change-Id: I47d01dfe3b215192b012911013b352ea5b5b1530 ---- - Source/WebCore/plugins/qt/PluginPackageQt.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/Source/WebCore/plugins/qt/PluginPackageQt.cpp -index 679480b..a674ad3 100644 ---- a/Source/WebCore/plugins/qt/PluginPackageQt.cpp -+++ b/Source/WebCore/plugins/qt/PluginPackageQt.cpp -@@ -146,7 +146,8 @@ bool PluginPackage::isPluginBlacklisted() - { - // TODO: enumerate all plugins that are incompatible with Qt5. - const QLatin1String pluginBlacklist[] = { -- QLatin1String("skypebuttons") -+ QLatin1String("skypebuttons"), -+ QLatin1String("libkpartsplugin") - }; - - QString baseName = QFileInfo(static_cast<QString>(m_path)).baseName(); --- -2.1.1 - diff --git a/debian/patches/detect_opengl_es2.diff b/debian/patches/detect_opengl_es2.diff new file mode 100644 index 0000000..ef3399e --- /dev/null +++ b/debian/patches/detect_opengl_es2.diff @@ -0,0 +1,16 @@ +Description: fix header needed to check OpenGL ES 2 +Author: Dmitry Shachnev <mitya57@debian.org> +Bug-Upstream: https://github.com/annulen/webkit/issues/598 +Last-Update: 2017-08-27 + +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -1057,7 +1057,7 @@ + + #if PLATFORM(QT) + #ifdef __cplusplus +-#include <qglobal.h> ++#include <QtGui/qtguiglobal.h> + #endif + #if defined(QT_OPENGL_ES_2) && !defined(USE_OPENGL_ES_2) + #define USE_OPENGL_ES_2 1 diff --git a/debian/patches/do_not_use_jit_on_big_endian_machines.patch b/debian/patches/do_not_use_jit_on_big_endian_machines.patch deleted file mode 100644 index b50fdd7..0000000 --- a/debian/patches/do_not_use_jit_on_big_endian_machines.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 0b6f959022700ecf9374bdbb13772242d3f7e617 Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen <allan.jensen@digia.com> -Date: Fri, 10 Oct 2014 14:50:18 +0200 -Subject: [PATCH] Do not use JIT on big endian architectures - -All the JIT implementations targets the little-endian versions of ARM, -MIPS and SH4 respectively. So in case anyone builds on those platforms -we should not enable JIT. - -Task-number: QTBUG-41896 -Change-Id: I5be167511e2c3eac6c63e603b82da84fb6b29eaa -Reviewed-by: Julien Brianceau <jbriance@cisco.com> -Reviewed-by: Michael Bruning <michael.bruning@digia.com> ---- - Source/WTF/wtf/Platform.h | 8 ++++++++ - 1 file changed, 8 insertions(+) - ---- a/Source/WTF/wtf/Platform.h -+++ b/Source/WTF/wtf/Platform.h -@@ -128,6 +128,9 @@ - /* CPU(SH4) - SuperH SH-4 */ - #if defined(__SH4__) - #define WTF_CPU_SH4 1 -+#ifdef __BIG_ENDIAN__ -+#define WTF_CPU_BIG_ENDIAN 1 -+#endif - #endif - - /* CPU(SPARC32) - SPARC 32-bit */ -@@ -759,6 +762,11 @@ - #define ENABLE_JIT 0 - #endif - -+/* All the current JIT implementations target little-endian */ -+#if CPU(BIG_ENDIAN) -+#define ENABLE_JIT 0 -+#endif -+ - /* Disable JIT on x32 */ - #if CPU(X32) - #define ENABLE_JIT 0 diff --git a/debian/patches/fix_cloop_on_big_endian_machines.patch b/debian/patches/fix_cloop_on_big_endian_machines.patch deleted file mode 100644 index 45006d7..0000000 --- a/debian/patches/fix_cloop_on_big_endian_machines.patch +++ /dev/null @@ -1,142 +0,0 @@ -From 0c58a486f551e7e7b63d438e3d32f21f876327d1 Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen <allan.jensen@digia.com> -Date: Thu, 9 Oct 2014 17:40:37 +0200 -Subject: [PATCH] Fix CLoop on big-endian machines - -Callee and ScopeChain are JSObject pointers and saved in the 64bit -structure for JS registers. On a 32bit big-endian machine the actual -pointer is offset by the PayloadOffset of 4 bytes, but on little-endian -and 64bit architectures there is no offset. - -This patch fixes four places the payloadOffset was not correctly added -on 32bit big-endian, and six places it was added on 64big big-endian -when it shouldn't. - -Task-number: QTBUG-41896 -Change-Id: I46b474bee9822b8040d1b7b2e8f31ce42e0adefe -Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> ---- - .../JavaScriptCore/llint/LowLevelInterpreter.asm | 25 +++++++++++++--------- - .../llint/LowLevelInterpreter32_64.asm | 2 +- - 2 files changed, 16 insertions(+), 11 deletions(-) - -diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm -index 2b5a23c..c4d86ee 100644 ---- a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm -+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm -@@ -87,6 +87,12 @@ else - const PayloadOffset = 0 - end - -+if JSVALUE64 -+ const JSCellPayloadOffset = 0 -+else -+ const JSCellPayloadOffset = PayloadOffset -+end -+ - # Constant for reasoning about butterflies. - const IsArray = 1 - const IndexingShapeMask = 30 -@@ -161,7 +167,6 @@ else - const VectorSizeOffset = 8 - end - -- - # Some common utilities. - macro crash() - if C_LOOP -@@ -267,13 +272,13 @@ macro assertNotConstant(index) - end - - macro functionForCallCodeBlockGetter(targetRegister) -- loadp Callee[cfr], targetRegister -+ loadp Callee + JSCellPayloadOffset[cfr], targetRegister - loadp JSFunction::m_executable[targetRegister], targetRegister - loadp FunctionExecutable::m_codeBlockForCall[targetRegister], targetRegister - end - - macro functionForConstructCodeBlockGetter(targetRegister) -- loadp Callee[cfr], targetRegister -+ loadp Callee + JSCellPayloadOffset[cfr], targetRegister - loadp JSFunction::m_executable[targetRegister], targetRegister - loadp FunctionExecutable::m_codeBlockForConstruct[targetRegister], targetRegister - end -@@ -671,7 +676,7 @@ _llint_op_resolve_global_var: - macro resolveScopedVarBody(resolveOperations) - # First ResolveOperation is to skip scope chain nodes - getScope(macro(dest) -- loadp ScopeChain + PayloadOffset[cfr], dest -+ loadp ScopeChain + JSCellPayloadOffset[cfr], dest - end, - ResolveOperation::m_scopesToSkip[resolveOperations], t1, t2) - loadp JSVariableObject::m_registers[t1], t1 # t1 now contains the activation registers -@@ -696,7 +701,7 @@ _llint_op_resolve_scoped_var_on_top_scope: - loadisFromInstruction(1, t3) - - # We know we want the top scope chain entry -- loadp ScopeChain + PayloadOffset[cfr], t1 -+ loadp ScopeChain + JSCellPayloadOffset[cfr], t1 - loadp JSVariableObject::m_registers[t1], t1 # t1 now contains the activation registers - - # Second ResolveOperation tells us what offset to use -@@ -718,7 +723,7 @@ _llint_op_resolve_scoped_var_with_top_scope_check: - loadp JSScope::m_next[t1], dest - jmp .done - .scopeChainNotCreated: -- loadp ScopeChain + PayloadOffset[cfr], dest -+ loadp ScopeChain + JSCellPayloadOffset[cfr], dest - .done: - end, - # Second ResolveOperation tells us how many more nodes to skip -@@ -773,7 +778,7 @@ _llint_op_resolve_base_to_scope: - getResolveOperation(4, t0) - # First ResolveOperation is to skip scope chain nodes - getScope(macro(dest) -- loadp ScopeChain + PayloadOffset[cfr], dest -+ loadp ScopeChain + JSCellPayloadOffset[cfr], dest - end, - ResolveOperation::m_scopesToSkip[t0], t1, t2) - loadisFromInstruction(1, t3) -@@ -798,7 +803,7 @@ _llint_op_resolve_base_to_scope_with_top_scope_check: - loadp JSScope::m_next[t1], dest - jmp .done - .scopeChainNotCreated: -- loadp ScopeChain + PayloadOffset[cfr], dest -+ loadp ScopeChain + JSCellPayloadOffset[cfr], dest - .done: - end, - # Second ResolveOperation tells us how many more nodes to skip -@@ -823,7 +828,7 @@ macro interpretResolveWithBase(opcodeLength, slowPath) - getResolveOperation(4, t0) - btpz t0, .slowPath - -- loadp ScopeChain[cfr], t3 -+ loadp ScopeChain + JSCellPayloadOffset[cfr], t3 - # Get the base - loadis ResolveOperation::m_operation[t0], t2 - -@@ -845,7 +850,7 @@ macro interpretResolveWithBase(opcodeLength, slowPath) - loadp JSScope::m_next[t1], dest - jmp .done - .scopeChainNotCreated: -- loadp ScopeChain + PayloadOffset[cfr], dest -+ loadp ScopeChain + JSCellPayloadOffset[cfr], dest - .done: - end, - sizeof ResolveOperation + ResolveOperation::m_scopesToSkip[t0], t1, t2) -diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm -index 89e40c7..87aa09e 100644 ---- a/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm -+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm -@@ -1692,7 +1692,7 @@ _llint_op_next_pname: - loadi 20[PC], t2 - loadi PayloadOffset[cfr, t2, 8], t2 - loadp JSPropertyNameIterator::m_jsStrings[t2], t3 -- loadi [t3, t0, 8], t3 -+ loadi PayloadOffset[t3, t0, 8], t3 - addi 1, t0 - storei t0, PayloadOffset[cfr, t1, 8] - loadi 4[PC], t1 --- -2.1.1 - diff --git a/debian/patches/fix_copyChars_segfault.diff b/debian/patches/fix_copyChars_segfault.diff new file mode 100644 index 0000000..1c704f3 --- /dev/null +++ b/debian/patches/fix_copyChars_segfault.diff @@ -0,0 +1,43 @@ +Description: fix WTF::StringImpl::copyChars segfault when built with GCC 7 +Origin: upstream, https://github.com/annulen/webkit/commit/0caec8a593cd872e +Last-Update: 2017-10-27 + +--- a/Source/WTF/wtf/text/StringImpl.h ++++ b/Source/WTF/wtf/text/StringImpl.h +@@ -619,25 +619,7 @@ + *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) +@@ -855,9 +837,6 @@ + return *tailPointer<StringImpl*>(); + } + +- // This number must be at least 2 to avoid sharing empty, null as well as 1 character strings from SmallStrings. +- static const unsigned s_copyCharsInlineCutOff = 20; +- + enum class CaseConvertType { Upper, Lower }; + template<CaseConvertType type, typename CharacterType> static Ref<StringImpl> convertASCIICase(StringImpl&, const CharacterType*, unsigned); + diff --git a/debian/patches/fix_crash_when_a_network_request_is_aborted_while_forwarding_data.patch b/debian/patches/fix_crash_when_a_network_request_is_aborted_while_forwarding_data.patch deleted file mode 100644 index 19ac009..0000000 --- a/debian/patches/fix_crash_when_a_network_request_is_aborted_while_forwarding_data.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 13ebee35e169a8b1210851ec494951815c70620c Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen <allan.jensen@digia.com> -Date: Mon, 13 Oct 2014 15:32:14 +0200 -Subject: [PATCH] Fix crash when a network-request is aborted while forwarding - data - -Since we forward data block-wise a network request may be aborted while -we are still forwarding received data. In that case we should stop the -forwarding. - -Task-number: QTBUG-41877 -Change-Id: Ia34bbdcacdc4eb70a2e814d3b4bada9844abbb83 -Reviewed-by: Michael Bruning <michael.bruning@digia.com> ---- - Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp b/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp -index 5990a40..fc69546 100644 ---- a/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp -+++ b/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp -@@ -687,9 +687,12 @@ void QNetworkReplyHandler::forwardData() - // -1 means we do not provide any data about transfer size to inspector so it would use - // Content-Length headers or content size to show transfer size. - client->didReceiveData(m_resourceHandle, buffer, readSize, -1); -+ // Check if the request has been aborted or this reply-handler was otherwise released. -+ if (wasAborted() || !m_replyWrapper) -+ break; - } - delete[] buffer; -- if (bytesAvailable > 0) -+ if (bytesAvailable > 0 && m_replyWrapper) - m_queue.requeue(&QNetworkReplyHandler::forwardData); - } - --- -2.1.1 - diff --git a/debian/patches/fix_ftbfs_x32.diff b/debian/patches/fix_ftbfs_x32.diff new file mode 100644 index 0000000..38a90e5 --- /dev/null +++ b/debian/patches/fix_ftbfs_x32.diff @@ -0,0 +1,15 @@ +Description: fix x32 build +Origin: upstream, https://github.com/WebKit/webkit/commit/0858ee607f376ae8 +Last-Update: 2017-11-11 + +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -705,7 +705,7 @@ + #endif + + #if !defined(USE_JSVALUE64) && !defined(USE_JSVALUE32_64) +-#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS))) \ ++#if (CPU(X86_64) && !defined(__ILP32__) && (OS(UNIX) || OS(WINDOWS))) \ + || (CPU(IA64) && !CPU(IA64_32)) \ + || CPU(ALPHA) \ + || CPU(ARM64) \ diff --git a/debian/patches/fix_nonlinux_glibc_linkage.diff b/debian/patches/fix_nonlinux_glibc_linkage.diff deleted file mode 100644 index 566389a..0000000 --- a/debian/patches/fix_nonlinux_glibc_linkage.diff +++ /dev/null @@ -1,16 +0,0 @@ -Author: Sune Vuorela -Description: Ensures we link with rt on all the platforms where we -have glibc. Not yet upstreamed. Requires a upstreamming of the gnukfreebsd patch -Index: b/Source/WebKit2/WebKit2.pri -=================================================================== ---- a/Source/WebKit2/WebKit2.pri -+++ b/Source/WebKit2/WebKit2.pri -@@ -75,7 +75,7 @@ - - INCLUDEPATH += $$WEBKIT2_GENERATED_SOURCES_DIR - --linux-*:!android { -+linux-*:!android|hurd-*|gnukfreebsd-* { - # -lrt is required for shm_open and shm_unlink. - LIBS += -lrt - } diff --git a/debian/patches/fix_selectedHtml_segfault.diff b/debian/patches/fix_selectedHtml_segfault.diff new file mode 100644 index 0000000..826bf5a --- /dev/null +++ b/debian/patches/fix_selectedHtml_segfault.diff @@ -0,0 +1,18 @@ +Description: fix nullptr dereference in QWebPageAdapter::selectedHtml() +Origin: Fedora, https://src.fedoraproject.org/cgit/rpms/qt5-qtwebkit.git/tree/qtwebkit-5.212.0-alpha2-fix-null-pointer-dereference.patch +Last-Update: 2017-10-30 + +--- a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp ++++ b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp +@@ -390,7 +390,10 @@ + + QString QWebPageAdapter::selectedHtml() const + { +- return page->focusController().focusedOrMainFrame().editor().selectedRange()->toHTML(); ++ RefPtr<Range> range = page->focusController().focusedOrMainFrame().editor().selectedRange(); ++ if (!range) ++ return QString(); ++ return range->toHTML(); + } + + bool QWebPageAdapter::isContentEditable() const diff --git a/debian/patches/hurd.diff b/debian/patches/hurd.diff deleted file mode 100644 index 46318d3..0000000 --- a/debian/patches/hurd.diff +++ /dev/null @@ -1,33 +0,0 @@ -Author: Pino Toscano <pino@debian.org> -Description: fix (workaround) build on GNU/Hurd - Apparently PTHREAD_MUTEX_NORMAL and PTHREAD_MUTEX_DEFAULT cannot be used - in preprocessor expressions, so temporarly use directly the code which would - be used on GNU/Hurd. -Origin: vendor -Forwarded: not-needed -Last-Update: 2011-12-30 - ---- - Source/JavaScriptCore/wtf/FastMalloc.cpp | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/Source/WTF/wtf/FastMalloc.cpp -+++ b/Source/WTF/wtf/FastMalloc.cpp -@@ -1966,6 +1966,9 @@ ALWAYS_INLINE void TCMalloc_PageHeap::su - void TCMalloc_PageHeap::initializeScavenger() - { - // Create a non-recursive mutex. -+#if defined(__GNU__) -+ pthread_mutex_init(&m_scavengeMutex, 0); -+#else - #if !defined(PTHREAD_MUTEX_NORMAL) || PTHREAD_MUTEX_NORMAL == PTHREAD_MUTEX_DEFAULT - pthread_mutex_init(&m_scavengeMutex, 0); - #else -@@ -1977,6 +1980,7 @@ void TCMalloc_PageHeap::initializeScaven - - pthread_mutexattr_destroy(&attr); - #endif -+#endif - - pthread_cond_init(&m_scavengeCondition, 0); - m_scavengeThreadActive = true; diff --git a/debian/patches/no_gc_sections.diff b/debian/patches/no_gc_sections.diff deleted file mode 100644 index ffe5ec1..0000000 --- a/debian/patches/no_gc_sections.diff +++ /dev/null @@ -1,25 +0,0 @@ -Description: do not pass -Wl,--gc-sections on powerpc, s390, arm*, mips*, iX86 when building - libQtWebKit.so; works around a binutils bug that results in a - segfault on powerpc, internal link error on s390 and OOM on armel/mipsel. -Author: Steve Langasek <vorlon@debian.org> -Author: Modestas Vainius <modax@debian.org> -Author: Timo Jyrinki <timo@debian.org> -Origin: vendor -Forwarded: no -Last-Update: 2013-02-07 (add i686) - ---- - Source/WebCore/WebCore.pri | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/Source/WebCore/WebCore.pri -+++ b/Source/WebCore/WebCore.pri -@@ -301,7 +301,7 @@ mac { - unix:!mac:*-g++*:QMAKE_CXXFLAGS += -ffunction-sections - } - unix:!mac:*-g++*:QMAKE_CXXFLAGS += -fdata-sections --unix:!mac:*-g++*:QMAKE_LFLAGS += -Wl,--gc-sections -+unix:!mac:*-g++*:!equals(QT_ARCH, powerpc):!equals(QT_ARCH, s390):!equals(QT_ARCH, mips):!equals(QT_ARCH, arm):!equals(QT_ARCH, i386):!equals(QT_ARCH, i686):QMAKE_LFLAGS += -Wl,--gc-sections - linux*-g++*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF - - enable_fast_mobile_scrolling: DEFINES += ENABLE_FAST_MOBILE_SCROLLING=1 diff --git a/debian/patches/path_max.diff b/debian/patches/path_max.diff new file mode 100644 index 0000000..3b76145 --- /dev/null +++ b/debian/patches/path_max.diff @@ -0,0 +1,21 @@ +Author: Pino Toscano <pino@debian.org> +Description: Locally define PATH_MAX is not available + The code unconditionally uses PATH_MAX, which is POSIX-optional. + . + This fixes the build on platforms without it, such as GNU/Hurd. +Forwarded: no +Last-Update: 2017-11-20 + +--- a/Source/WebCore/platform/text/hyphen/HyphenationLibHyphen.cpp ++++ b/Source/WebCore/platform/text/hyphen/HyphenationLibHyphen.cpp +@@ -45,6 +45,10 @@ + #include <wtf/glib/GUniquePtr.h> + #endif + ++#if !defined(PATH_MAX) ++#define PATH_MAX 4096 ++#endif ++ + namespace WebCore { + + static const char* const gDictionaryDirectories[] = { diff --git a/debian/patches/reduce_exports.diff b/debian/patches/reduce_exports.diff new file mode 100644 index 0000000..44fb4df --- /dev/null +++ b/debian/patches/reduce_exports.diff @@ -0,0 +1,26 @@ +Description: reduce the number of exported symbols in libQt5WebKit.so.5 +Author: Dmitry Shachnev <mitya57@debian.org> +Forwarded: not-needed +Last-Update: 2017-08-27 + +--- a/Source/WTF/wtf/ExportMacros.h ++++ b/Source/WTF/wtf/ExportMacros.h +@@ -56,7 +56,7 @@ + + #elif defined(__GNUC__) && !defined(__CC_ARM) && !defined(__ARMCC__) + +-#define WTF_EXPORT_DECLARATION __attribute__((visibility("default"))) ++#define WTF_EXPORT_DECLARATION + #define WTF_IMPORT_DECLARATION WTF_EXPORT_DECLARATION + #define WTF_HIDDEN_DECLARATION __attribute__((visibility("hidden"))) + +--- a/Source/cmake/OptionsQt.cmake ++++ b/Source/cmake/OptionsQt.cmake +@@ -546,6 +546,7 @@ + if (NOT SHARED_CORE) + set(CMAKE_C_FLAGS "-fvisibility=hidden ${CMAKE_C_FLAGS}") + set(CMAKE_CXX_FLAGS "-fvisibility=hidden -fvisibility-inlines-hidden ${CMAKE_CXX_FLAGS}") ++ add_definitions(-DJS_NO_EXPORT) + endif () + endif () + diff --git a/debian/patches/reduce_memory_usage.patch b/debian/patches/reduce_memory_usage.patch deleted file mode 100644 index fe1ebb6..0000000 --- a/debian/patches/reduce_memory_usage.patch +++ /dev/null @@ -1,23 +0,0 @@ -Description: force ld to not cache symbols tables. - This patch, wich should be considered Debian-only (in other words, it should - not be pushed upstream), forces ld to not cache the symbol tables of input - files in memory to avoid memory exhaustion during the linking phase. - . - This might make linking slower but reducing the overall memory consumption. -Author: Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org> -Forwarded: not-needed -Last-Update: 2014-03-05 - ---- - Tools/qmake/mkspecs/features/unix/default_post.prf | 3 +++ - 1 file changed, 3 insertions(+) - ---- a/Tools/qmake/mkspecs/features/unix/default_post.prf -+++ b/Tools/qmake/mkspecs/features/unix/default_post.prf -@@ -68,3 +68,6 @@ CONFIG(debug, debug|release)|force_debug - } - - load(default_post) -+ -+# Make ld not cache the symbol tables of input files in memory to avoid memory exhaustion during the linking phase. -+QMAKE_LFLAGS += -Wl,--no-keep-memory diff --git a/debian/patches/series b/debian/patches/series index dff8ec2..13e6f0c 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,18 +1,10 @@ -# Upstream patches -do_not_use_jit_on_big_endian_machines.patch -fix_cloop_on_big_endian_machines.patch -fix_crash_when_a_network_request_is_aborted_while_forwarding_data.patch -blacklist_libkpartsplugin.patch - -# debian patches -reduce_memory_usage.patch -05_sparc_unaligned_access.diff -no_gc_sections.diff -hurd.diff -webkit_qt_hide_symbols.diff -fix_nonlinux_glibc_linkage.diff - -# Dyson patches +reduce_exports.diff +detect_opengl_es2.diff +atomic_config_test.diff +fix_copyChars_segfault.diff +fix_selectedHtml_segfault.diff +fix_ftbfs_x32.diff +path_max.diff dyson-MathExtras.patch dyson-yield.patch dyson-MachineStackMarker-stackPointer.patch diff --git a/debian/patches/webkit_qt_hide_symbols.diff b/debian/patches/webkit_qt_hide_symbols.diff deleted file mode 100644 index b881ac7..0000000 --- a/debian/patches/webkit_qt_hide_symbols.diff +++ /dev/null @@ -1,28 +0,0 @@ -From: Modestas Vainius <modax@debian.org> -SUbject: Make hide_symbols to cover all QtWebKit portions -Origin: vendor -Author: Timo Jyrinki <timo@debian.org> -Last-Update: 2013-01-28 (use a similar patch on Qt 5) -Forwarded: no - -Almost everything in Source/WebCore/generated was not build with --fvisibility=hidden resulting into redundantly polluted and huge dynamic symbol -list in libQtWebKit.so. - -Therefore, move +hide_symbols configuration parameter upwards in order for it -to cover everything including the offending Source/WebCore/CodeGenerators.pri - ---- a/Source/QtWebKit.pro 2012-12-18 19:04:43.000000000 +0000 -+++ b/Source/QtWebKit.pro 2013-01-28 08:25:56.342911517 +0000 -@@ -7,6 +7,11 @@ - TEMPLATE = subdirs - CONFIG += ordered - -+CONFIG(release):!CONFIG(standalone_package) { -+ contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols -+ unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions -+} -+ - api.file = api.pri - SUBDIRS += api - |