summaryrefslogtreecommitdiff
path: root/extra/qtwebkit
diff options
context:
space:
mode:
Diffstat (limited to 'extra/qtwebkit')
-rw-r--r--extra/qtwebkit/LLIntCLoop32BigEndian.patch72
-rw-r--r--extra/qtwebkit/PKGBUILD20
2 files changed, 89 insertions, 3 deletions
diff --git a/extra/qtwebkit/LLIntCLoop32BigEndian.patch b/extra/qtwebkit/LLIntCLoop32BigEndian.patch
new file mode 100644
index 000000000..4331e0ea8
--- /dev/null
+++ b/extra/qtwebkit/LLIntCLoop32BigEndian.patch
@@ -0,0 +1,72 @@
+Index: Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
+===================================================================
+--- Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm (revision 139916)
++++ Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm (working copy)
+@@ -1728,7 +1728,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
+Index: Source/JavaScriptCore/llint/LowLevelInterpreter.asm
+===================================================================
+--- Source/JavaScriptCore/llint/LowLevelInterpreter.asm (revision 139916)
++++ Source/JavaScriptCore/llint/LowLevelInterpreter.asm (working copy)
+@@ -263,13 +263,13 @@ macro assertNotConstant(index)
+ end
+
+ macro functionForCallCodeBlockGetter(targetRegister)
+- loadp Callee[cfr], targetRegister
++ loadp Callee + PayloadOffset[cfr], targetRegister
+ loadp JSFunction::m_executable[targetRegister], targetRegister
+ loadp FunctionExecutable::m_codeBlockForCall[targetRegister], targetRegister
+ end
+
+ macro functionForConstructCodeBlockGetter(targetRegister)
+- loadp Callee[cfr], targetRegister
++ loadp Callee + PayloadOffset[cfr], targetRegister
+ loadp JSFunction::m_executable[targetRegister], targetRegister
+ loadp FunctionExecutable::m_codeBlockForConstruct[targetRegister], targetRegister
+ end
+@@ -841,7 +841,7 @@ macro interpretResolveWithBase(opcodeLen
+ getResolveOperation(4, t0, t1)
+ btpz t0, .slowPath
+
+- loadp ScopeChain[cfr], t3
++ loadp ScopeChain + PayloadOffset[cfr], t3
+ # Get the base
+ loadis ResolveOperation::m_operation[t0], t2
+
+Index: Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
+===================================================================
+--- Source/JavaScriptCore/llint/LowLevelInterpreter.cpp (revision 139916)
++++ Source/JavaScriptCore/llint/LowLevelInterpreter.cpp (working copy)
+@@ -33,6 +33,7 @@
+
+ #if ENABLE(LLINT_C_LOOP)
+ #include "CodeBlock.h"
++#include "JSValueInlines.h"
+ #include "LLIntCLoop.h"
+ #include "LLIntSlowPaths.h"
+ #include "VMInspector.h"
+@@ -116,6 +117,17 @@ static double Ints2Double(uint32_t lo, u
+ u.ival64 = (static_cast<uint64_t>(hi) << 32) | lo;
+ return u.dval;
+ }
++
++static void Double2Ints(double input, intptr_t& lo, intptr_t& hi)
++{
++ union {
++ double dval;
++ uint64_t ival64;
++ } u;
++ u.dval = input;
++ hi = static_cast<intptr_t>(u.ival64 >> 32);
++ lo = static_cast<intptr_t>(u.ival64);
++}
+ #endif // USE(JSVALUE32_64)
+
+ } // namespace LLint
diff --git a/extra/qtwebkit/PKGBUILD b/extra/qtwebkit/PKGBUILD
index 90ef10954..1f91d23f8 100644
--- a/extra/qtwebkit/PKGBUILD
+++ b/extra/qtwebkit/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=qtwebkit
pkgver=2.3.beta2
_pkgver=2.3-beta2
pkgrel=2
-arch=('i686' 'x86_64')
+arch=('i686' 'x86_64' 'mips64el')
url='http://trac.webkit.org/wiki/QtWebKit'
pkgdesc='An open source web browser engine (Qt port)'
license=('LGPL2.1' 'GPL3')
@@ -13,15 +13,29 @@ depends=('qt4' 'systemd' 'gstreamer0.10-base')
makedepends=('gperf' 'python2' 'ruby' 'git' 'mesa')
conflicts=('qt<4.8')
source=("${pkgname}-${pkgver}.tar.gz"::"http://gitorious.org/webkit/qtwebkit-23/archive-tarball/${pkgname}-${_pkgver}"
- 'use-python2.patch')
+ 'use-python2.patch'
+ 'LLIntCLoop32BigEndian.patch')
sha1sums=('b1bfa9e3303ce9c95eec0a1e66b2b812b844bf08'
- '315b6ff603f35e5492a036f7082f6aa075dfb607')
+ '315b6ff603f35e5492a036f7082f6aa075dfb607'
+ 'af830ae24e2ae5113754c9ae524d27ec0a28a9d6')
build() {
cd webkit-qtwebkit-23
+ if [ "$CARCH" = "mips64el" ]; then
+ # Fix MIPS N32 support.
+ sed -i 's/defined(_ABIO32)/(defined(_ABIO32) || defined(_ABIN32))/' \
+ Source/WTF/wtf/Platform.h
+ # Don't enable JIT even if configure finds that it's not supported.
+ sed -i 's/#define ENABLE_JIT 1/#define ENABLE_JIT 0/' \
+ Source/WTF/wtf/Platform.h
+ fi
+
patch -p1 -i "${srcdir}"/use-python2.patch
+ # Fix https://bugs.webkit.org/show_bug.cgi?id=103128, original patch with ChangeLog stripped.
+ patch -p0 -i "${srcdir}/LLIntCLoop32BigEndian.patch"
+
OPTS="--no-webkit2"
if [ "${CARCH}" = "i686" ]; then
# FS#33418