aboutsummaryrefslogtreecommitdiff
path: root/srcpkgs/qt5-webkit/patches
diff options
context:
space:
mode:
Diffstat (limited to 'srcpkgs/qt5-webkit/patches')
-rw-r--r--srcpkgs/qt5-webkit/patches/ppc-llint.patch32
-rw-r--r--srcpkgs/qt5-webkit/patches/reduce-exports.patch27
2 files changed, 59 insertions, 0 deletions
diff --git a/srcpkgs/qt5-webkit/patches/ppc-llint.patch b/srcpkgs/qt5-webkit/patches/ppc-llint.patch
new file mode 100644
index 00000000000..2fc5a46e523
--- /dev/null
+++ b/srcpkgs/qt5-webkit/patches/ppc-llint.patch
@@ -0,0 +1,32 @@
+This fixes JavaScriptCore on big endian systems (mainly ppc).
+
+Without the patch, attempting to run any JS results in
+a crash as the generated code was endian specific.
+
+--- Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
++++ Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
+@@ -1500,13 +1500,13 @@ _llint_op_put_by_id:
+ loadp StructureChain::m_vector[t3], t3
+ assert(macro (ok) btpnz t3, ok end)
+
+- loadp Structure::m_prototype[t2], t2
++ loadp Structure::m_prototype + PayloadOffset[t2], t2
+ btpz t2, .opPutByIdTransitionChainDone
+ .opPutByIdTransitionChainLoop:
+ loadp [t3], t1
+ bpneq t1, JSCell::m_structureID[t2], .opPutByIdSlow
+ addp 4, t3
+- loadp Structure::m_prototype[t1], t2
++ loadp Structure::m_prototype + PayloadOffset[t1], t2
+ btpnz t2, .opPutByIdTransitionChainLoop
+
+ .opPutByIdTransitionChainDone:
+@@ -1984,7 +1984,7 @@ _llint_throw_from_slow_path_trampoline:
+ # When throwing from the interpreter (i.e. throwing from LLIntSlowPaths), so
+ # the throw target is not necessarily interpreted code, we come to here.
+ # This essentially emulates the JIT's throwing protocol.
+- loadp Callee[cfr], t1
++ loadp Callee + PayloadOffset[cfr], t1
+ andp MarkedBlockMask, t1
+ loadp MarkedBlock::m_weakSet + WeakSet::m_vm[t1], t1
+ copyCalleeSavesToVMCalleeSavesBuffer(t1, t2)
diff --git a/srcpkgs/qt5-webkit/patches/reduce-exports.patch b/srcpkgs/qt5-webkit/patches/reduce-exports.patch
new file mode 100644
index 00000000000..7addb0f7c16
--- /dev/null
+++ b/srcpkgs/qt5-webkit/patches/reduce-exports.patch
@@ -0,0 +1,27 @@
+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
+
+--- Source/WTF/wtf/ExportMacros.h
++++ 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")))
+
+--- Source/cmake/OptionsQt.cmake
++++ Source/cmake/OptionsQt.cmake
+@@ -658,6 +658,7 @@ if (COMPILER_IS_GCC_OR_CLANG AND UNIX)
+ 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 ()
+
+