diff options
Diffstat (limited to 'extra/qtwebkit')
-rw-r--r-- | extra/qtwebkit/LLIntCLoop32BigEndian.patch | 72 | ||||
-rw-r--r-- | extra/qtwebkit/PKGBUILD | 20 |
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 |