[webkitgtk3/f20-gnome-3-12] Update to 2.4.6

Kalev Lember kalev at fedoraproject.org
Thu Oct 2 12:04:07 UTC 2014


commit 9a5128b218aabaabf1de462854971d52135d0b28
Author: Kalev Lember <kalevlember at gmail.com>
Date:   Thu Oct 2 13:58:07 2014 +0200

    Update to 2.4.6
    
    ... and sync with the f21 branch.

 sources                                            |    2 +-
 webkitgtk-2.4.1-cloop_fix.patch                    |  199 ++++++++++++++++++++
 webkitgtk-2.4.1-ppc64_align.patch                  |   45 +++++
 ...C32.patch => webkitgtk-2.4.5-cloop_fix_32.patch |   12 +-
 webkitgtk-aarch64.patch                            |   38 ++--
 webkitgtk3.spec                                    |   27 ++-
 6 files changed, 290 insertions(+), 33 deletions(-)
---
diff --git a/sources b/sources
index 083f89b..6f48645 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-da2b1b0f0863f3f21bdbc0476001589f  webkitgtk-2.4.2.tar.xz
+b0d019777754bb5779de8b9ad1dd6bfe  webkitgtk-2.4.6.tar.xz
diff --git a/webkitgtk-2.4.1-cloop_fix.patch b/webkitgtk-2.4.1-cloop_fix.patch
new file mode 100644
index 0000000..2675caf
--- /dev/null
+++ b/webkitgtk-2.4.1-cloop_fix.patch
@@ -0,0 +1,199 @@
+diff -up webkitgtk-2.4.4/Source/JavaScriptCore/interpreter/ProtoCallFrame.h.cloop_fix webkitgtk-2.4.4/Source/JavaScriptCore/interpreter/ProtoCallFrame.h
+--- webkitgtk-2.4.4/Source/JavaScriptCore/interpreter/ProtoCallFrame.h.cloop_fix	2014-07-23 14:15:45.497658648 +0200
++++ webkitgtk-2.4.4/Source/JavaScriptCore/interpreter/ProtoCallFrame.h	2014-07-23 14:16:46.997687779 +0200
+@@ -36,7 +36,7 @@ struct ProtoCallFrame {
+     Register calleeValue;
+     Register argCountAndCodeOriginValue;
+     Register thisArg;
+-    size_t paddedArgCount;
++    uint32_t paddedArgCount;
+     JSValue *args;
+ 
+     void init(CodeBlock*, JSScope*, JSObject*, JSValue, int, JSValue* otherArgs = 0);
+@@ -53,7 +53,7 @@ struct ProtoCallFrame {
+     int argumentCountIncludingThis() const { return argCountAndCodeOriginValue.payload(); }
+     int argumentCount() const { return argumentCountIncludingThis() - 1; }
+     void setArgumentCountIncludingThis(int count) { argCountAndCodeOriginValue.payload() = count; }
+-    void setPaddedArgsCount(size_t argCount) { paddedArgCount = argCount; }
++    void setPaddedArgsCount(uint32_t argCount) { paddedArgCount = argCount; }
+ 
+     void clearCurrentVPC() { argCountAndCodeOriginValue.tag() = 0; }
+     
+diff -up webkitgtk-2.4.4/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp.cloop_fix webkitgtk-2.4.4/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
+--- webkitgtk-2.4.4/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp.cloop_fix	2014-07-23 14:16:02.057667404 +0200
++++ webkitgtk-2.4.4/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp	2014-07-23 14:16:46.997687779 +0200
+@@ -1354,7 +1354,7 @@ LLINT_SLOW_PATH_DECL(slow_path_get_from_
+             CodeBlock* codeBlock = exec->codeBlock();
+             ConcurrentJITLocker locker(codeBlock->m_lock);
+             pc[5].u.structure.set(exec->vm(), codeBlock->ownerExecutable(), scope->structure());
+-            pc[6].u.operand = slot.cachedOffset();
++            pc[6].u.pointer = reinterpret_cast<void*>(slot.cachedOffset());
+         }
+     }
+ 
+@@ -1381,7 +1381,7 @@ LLINT_SLOW_PATH_DECL(slow_path_put_to_sc
+         if (slot.isCacheable() && slot.base() == scope && scope->structure()->propertyAccessesAreCacheable()) {
+             ConcurrentJITLocker locker(codeBlock->m_lock);
+             pc[5].u.structure.set(exec->vm(), codeBlock->ownerExecutable(), scope->structure());
+-            pc[6].u.operand = slot.cachedOffset();
++            pc[6].u.pointer = reinterpret_cast<void*>(slot.cachedOffset());
+         }
+     }
+ 
+diff -up webkitgtk-2.4.4/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm.cloop_fix webkitgtk-2.4.4/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
+--- webkitgtk-2.4.4/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm.cloop_fix	2014-07-23 14:16:13.047672325 +0200
++++ webkitgtk-2.4.4/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm	2014-07-23 14:18:27.547721786 +0200
+@@ -282,7 +282,7 @@ macro doCallToJavaScript(makeCall, doRet
+     storep temp3, CodeBlock+4[cfr, temp1, 8]
+     btinz temp1, .copyHeaderLoop
+ 
+-    loadi ProtoCallFrame::argCountAndCodeOriginValue[protoCallFrame], temp2
++    loadi PayloadOffset + ProtoCallFrame::argCountAndCodeOriginValue[protoCallFrame], temp2
+     subi 1, temp2
+     loadi ProtoCallFrame::paddedArgCount[protoCallFrame], temp3
+     subi 1, temp3
+@@ -321,7 +321,7 @@ macro doCallToJavaScript(makeCall, doRet
+ 
+ .calleeFramePopped:
+     loadp Callee[cfr], temp3 # VM.topCallFrame
+-    loadp ScopeChain[cfr], temp4
++    loadp ScopeChain + PayloadOffset[cfr], temp4
+     storep temp4, [temp3]
+ 
+     doReturn(extraStackSpace)
+@@ -598,7 +598,7 @@ end
+ 
+ 
+ macro branchIfException(label)
+-    loadp ScopeChain[cfr], t3
++    loadp ScopeChain + PayloadOffset[cfr], t3
+     andp MarkedBlockMask, t3
+     loadp MarkedBlock::m_weakSet + WeakSet::m_vm[t3], t3
+     bieq VM::m_exception + TagOffset[t3], EmptyValueTag, .noException
+@@ -2039,7 +2039,7 @@ _llint_op_catch:
+     # the interpreter's throw trampoline (see _llint_throw_trampoline).
+     # The throwing code must have known that we were throwing to the interpreter,
+     # and have set VM::targetInterpreterPCForThrow.
+-    loadp ScopeChain[cfr], t3
++    loadp ScopeChain + PayloadOffset[cfr], t3
+     andp MarkedBlockMask, t3
+     loadp MarkedBlock::m_weakSet + WeakSet::m_vm[t3], t3
+     loadp VM::callFrameForThrow[t3], cfr
+@@ -2159,7 +2159,7 @@ macro nativeCallTrampoline(executableOff
+         andp MarkedBlockMask, t3
+         loadp MarkedBlock::m_weakSet + WeakSet::m_vm[t3], t3
+     elsif C_LOOP
+-        loadp ScopeChain[cfr], t3
++        loadp ScopeChain + PayloadOffset[cfr], t3
+         andp MarkedBlockMask, t3
+         loadp MarkedBlock::m_weakSet + WeakSet::m_vm[t3], t3
+         storep cfr, VM::topCallFrame[t3]
+@@ -2172,7 +2172,7 @@ macro nativeCallTrampoline(executableOff
+         move t2, cfr
+         cloopCallNative executableOffsetToFunction[t1]
+         restoreReturnAddressBeforeReturn(t3)
+-        loadp ScopeChain[cfr], t3
++        loadp ScopeChain + PayloadOffset[cfr], t3
+         andp MarkedBlockMask, t3
+         loadp MarkedBlock::m_weakSet + WeakSet::m_vm[t3], t3
+     else
+@@ -2212,7 +2212,7 @@ macro resolveScope()
+     addi 1, t2
+ 
+ .resolveScopeAfterActivationCheck:
+-    loadp ScopeChain[cfr], t0
++    loadp ScopeChain + PayloadOffset[cfr], t0
+     btiz t2, .resolveScopeLoopEnd
+ 
+ .resolveScopeLoop:
+@@ -2271,13 +2271,13 @@ _llint_op_resolve_scope:
+ 
+ macro loadWithStructureCheck(operand, slowPath)
+     loadisFromInstruction(operand, t0)
+-    loadp [cfr, t0, 8], t0
++    loadp PayloadOffset[cfr, t0, 8], t0
+     loadpFromInstruction(5, t1)
+     bpneq JSCell::m_structure[t0], t1, slowPath
+ end
+ 
+ macro getProperty()
+-    loadisFromInstruction(6, t3)
++    loadpFromInstruction(6, t3)
+     loadPropertyAtVariableOffset(t3, t0, t1, t2)
+     valueProfile(t1, t2, 28, t0)
+     loadisFromInstruction(1, t0)
+@@ -2297,7 +2297,7 @@ end
+ 
+ macro getClosureVar()
+     loadp JSVariableObject::m_registers[t0], t0
+-    loadisFromInstruction(6, t3)
++    loadpFromInstruction(6, t3)
+     loadp TagOffset[t0, t3, 8], t1
+     loadp PayloadOffset[t0, t3, 8], t2
+     valueProfile(t1, t2, 28, t0)
+@@ -2356,7 +2356,7 @@ _llint_op_get_from_scope:
+ macro putProperty()
+     loadisFromInstruction(3, t1)
+     loadConstantOrVariable(t1, t2, t3)
+-    loadisFromInstruction(6, t1)
++    loadpFromInstruction(6, t1)
+     storePropertyAtVariableOffset(t1, t0, t2, t3)
+ end
+ 
+@@ -2374,7 +2374,7 @@ macro putClosureVar()
+     loadisFromInstruction(3, t1)
+     loadConstantOrVariable(t1, t2, t3)
+     loadp JSVariableObject::m_registers[t0], t0
+-    loadisFromInstruction(6, t1)
++    loadpFromInstruction(6, t1)
+     storei t2, TagOffset[t0, t1, 8]
+     storei t3, PayloadOffset[t0, t1, 8]
+ end
+diff -up webkitgtk-2.4.4/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm.cloop_fix webkitgtk-2.4.4/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm
+--- webkitgtk-2.4.4/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm.cloop_fix	2014-07-23 14:16:19.147675074 +0200
++++ webkitgtk-2.4.4/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm	2014-07-23 14:16:46.997687779 +0200
+@@ -171,7 +171,7 @@ macro doCallToJavaScript(makeCall, doRet
+     storep temp3, CodeBlock[cfr, temp1, 8]
+     btinz temp1, .copyHeaderLoop
+ 
+-    loadi ProtoCallFrame::argCountAndCodeOriginValue[protoCallFrame], temp2
++    loadi PayloadOffset + ProtoCallFrame::argCountAndCodeOriginValue[protoCallFrame], temp2
+     subi 1, temp2
+     loadi ProtoCallFrame::paddedArgCount[protoCallFrame], temp3
+     subi 1, temp3
+@@ -2047,7 +2047,7 @@ macro loadWithStructureCheck(operand, sl
+ end
+ 
+ macro getProperty()
+-    loadisFromInstruction(6, t1)
++    loadpFromInstruction(6, t1)
+     loadPropertyAtVariableOffset(t1, t0, t2)
+     valueProfile(t2, 7, t0)
+     loadisFromInstruction(1, t0)
+@@ -2064,7 +2064,7 @@ end
+ 
+ macro getClosureVar()
+     loadp JSVariableObject::m_registers[t0], t0
+-    loadisFromInstruction(6, t1)
++    loadpFromInstruction(6, t1)
+     loadq [t0, t1, 8], t0
+     valueProfile(t0, 7, t1)
+     loadisFromInstruction(1, t1)
+@@ -2121,7 +2121,7 @@ _llint_op_get_from_scope:
+ macro putProperty()
+     loadisFromInstruction(3, t1)
+     loadConstantOrVariable(t1, t2)
+-    loadisFromInstruction(6, t1)
++    loadpFromInstruction(6, t1)
+     storePropertyAtVariableOffset(t1, t0, t2)
+ end
+ 
+@@ -2138,7 +2138,7 @@ macro putClosureVar()
+     loadisFromInstruction(3, t1)
+     loadConstantOrVariable(t1, t2)
+     loadp JSVariableObject::m_registers[t0], t0
+-    loadisFromInstruction(6, t1)
++    loadpFromInstruction(6, t1)
+     storeq t2, [t0, t1, 8]
+ end
+ 
diff --git a/webkitgtk-2.4.1-ppc64_align.patch b/webkitgtk-2.4.1-ppc64_align.patch
new file mode 100644
index 0000000..5186d60
--- /dev/null
+++ b/webkitgtk-2.4.1-ppc64_align.patch
@@ -0,0 +1,45 @@
+diff -up webkitgtk-2.4.2/Source/JavaScriptCore/heap/CopiedBlock.h.ppc64_align webkitgtk-2.4.2/Source/JavaScriptCore/heap/CopiedBlock.h
+--- webkitgtk-2.4.2/Source/JavaScriptCore/heap/CopiedBlock.h.ppc64_align	2014-05-12 08:03:53.000000000 +0200
++++ webkitgtk-2.4.2/Source/JavaScriptCore/heap/CopiedBlock.h	2014-05-14 15:16:36.946318596 +0200
+@@ -81,7 +81,7 @@ public:
+     size_t size();
+     size_t capacity();
+ 
+-    static const size_t blockSize = 32 * KB;
++    static const size_t blockSize = 64 * KB;
+ 
+     bool hasWorkList();
+     CopyWorkList& workList();
+diff -up webkitgtk-2.4.2/Source/JavaScriptCore/interpreter/JSStack.cpp.ppc64_align webkitgtk-2.4.2/Source/JavaScriptCore/interpreter/JSStack.cpp
+--- webkitgtk-2.4.2/Source/JavaScriptCore/interpreter/JSStack.cpp.ppc64_align	2014-05-12 08:03:53.000000000 +0200
++++ webkitgtk-2.4.2/Source/JavaScriptCore/interpreter/JSStack.cpp	2014-05-14 15:17:35.617171141 +0200
+@@ -49,7 +49,8 @@ JSStack::JSStack(VM& vm, size_t capacity
+ {
+     ASSERT(capacity && isPageAligned(capacity));
+ 
+-    m_reservation = PageReservation::reserve(roundUpAllocationSize(capacity * sizeof(Register), commitSize), OSAllocator::JSVMStackPages);
++    size_t commitsize = pageSize();
++    m_reservation = PageReservation::reserve(roundUpAllocationSize(capacity * sizeof(Register), commitsize), OSAllocator::JSVMStackPages);
+     updateStackLimit(highAddress());
+     m_commitEnd = highAddress();
+ 
+@@ -78,7 +79,8 @@ bool JSStack::growSlowCase(Register* new
+     // Compute the chunk size of additional memory to commit, and see if we
+     // have it is still within our budget. If not, we'll fail to grow and
+     // return false.
+-    long delta = roundUpAllocationSize(reinterpret_cast<char*>(m_commitEnd) - reinterpret_cast<char*>(newEnd), commitSize);
++    size_t commitsize = pageSize();
++    long delta = roundUpAllocationSize(reinterpret_cast<char*>(m_commitEnd) - reinterpret_cast<char*>(newEnd), commitsize);
+     if (reinterpret_cast<char*>(m_commitEnd) - delta <= reinterpret_cast<char*>(m_useableEnd))
+         return false;
+ 
+@@ -134,7 +136,8 @@ void JSStack::enableErrorStackReserve()
+ 
+ void JSStack::disableErrorStackReserve()
+ {
+-    char* useableEnd = reinterpret_cast<char*>(reservationEnd()) + commitSize;
++    size_t commitsize = pageSize();
++    char* useableEnd = reinterpret_cast<char*>(reservationEnd()) + commitsize;
+     m_useableEnd = reinterpret_cast_ptr<Register*>(useableEnd);
+ 
+     // By the time we get here, we are guaranteed to be destructing the last
diff --git a/webkit-2.1.90-double2intsPPC32.patch b/webkitgtk-2.4.5-cloop_fix_32.patch
similarity index 54%
rename from webkit-2.1.90-double2intsPPC32.patch
rename to webkitgtk-2.4.5-cloop_fix_32.patch
index b904490..96c53ad 100644
--- a/webkit-2.1.90-double2intsPPC32.patch
+++ b/webkitgtk-2.4.5-cloop_fix_32.patch
@@ -1,6 +1,6 @@
-diff -up webkitgtk-2.1.90.1/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm.double2intsPPC32 webkitgtk-2.1.90.1/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
---- webkitgtk-2.1.90.1/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm.double2intsPPC32	2013-08-28 21:06:29.000000000 +0200
-+++ webkitgtk-2.1.90.1/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm	2013-09-12 15:32:34.000000000 +0200
+diff -up webkitgtk-2.4.5/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm.cloop_fix_32 webkitgtk-2.4.5/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
+--- webkitgtk-2.4.5/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm.cloop_fix_32	2013-08-28 21:06:29.000000000 +0200
++++ webkitgtk-2.4.5/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm	2013-09-12 15:32:34.000000000 +0200
 @@ -1679,7 +1679,7 @@ _llint_op_next_pname:
      loadi 20[PC], t2
      loadi PayloadOffset[cfr, t2, 8], t2
@@ -10,9 +10,9 @@ diff -up webkitgtk-2.1.90.1/Source/JavaScriptCore/llint/LowLevelInterpreter32_64
      addi 1, t0
      storei t0, PayloadOffset[cfr, t1, 8]
      loadi 4[PC], t1
-diff -up webkitgtk-2.1.90.1/Source/JavaScriptCore/llint/LowLevelInterpreter.asm.double2intsPPC32 webkitgtk-2.1.90.1/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
---- webkitgtk-2.1.90.1/Source/JavaScriptCore/llint/LowLevelInterpreter.asm.double2intsPPC32	2013-08-28 21:06:29.000000000 +0200
-+++ webkitgtk-2.1.90.1/Source/JavaScriptCore/llint/LowLevelInterpreter.asm	2013-09-12 15:32:34.000000000 +0200
+diff -up webkitgtk-2.4.5/Source/JavaScriptCore/llint/LowLevelInterpreter.asm.cloop_fix_32 webkitgtk-2.4.5/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
+--- webkitgtk-2.4.5/Source/JavaScriptCore/llint/LowLevelInterpreter.asm.cloop_fix_32	2013-08-28 21:06:29.000000000 +0200
++++ webkitgtk-2.4.5/Source/JavaScriptCore/llint/LowLevelInterpreter.asm	2013-09-12 15:32:34.000000000 +0200
 @@ -276,13 +276,13 @@ macro assertNotConstant(index)
  end
  
diff --git a/webkitgtk-aarch64.patch b/webkitgtk-aarch64.patch
index fe54daa..7272bc1 100644
--- a/webkitgtk-aarch64.patch
+++ b/webkitgtk-aarch64.patch
@@ -1,6 +1,19 @@
---- webkitgtk-2.3.5/Source/WTF/wtf/Platform.h.orig	2014-02-04 16:38:03.000000000 +0000
-+++ webkitgtk-2.3.5/Source/WTF/wtf/Platform.h	2014-02-07 10:50:32.639441614 +0000
-@@ -317,6 +317,14 @@
+diff -up webkitgtk-2.4.5/Source/WTF/wtf/dtoa/utils.h.aarch64 webkitgtk-2.4.5/Source/WTF/wtf/dtoa/utils.h
+--- webkitgtk-2.4.5/Source/WTF/wtf/dtoa/utils.h.aarch64	2014-09-02 11:39:15.782812173 +0200
++++ webkitgtk-2.4.5/Source/WTF/wtf/dtoa/utils.h	2014-09-02 11:41:23.022637099 +0200
+@@ -49,7 +49,7 @@
+ defined(__ARMEL__) || \
+ defined(_MIPS_ARCH_MIPS32R2)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+-#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA)
++#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(AARCH64) || CPU(HPPA)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+ #elif defined(_M_IX86) || defined(__i386__)
+ #if defined(_WIN32)
+diff -up webkitgtk-2.4.5/Source/WTF/wtf/Platform.h.aarch64 webkitgtk-2.4.5/Source/WTF/wtf/Platform.h
+--- webkitgtk-2.4.5/Source/WTF/wtf/Platform.h.aarch64	2014-08-25 14:50:32.000000000 +0200
++++ webkitgtk-2.4.5/Source/WTF/wtf/Platform.h	2014-09-02 11:40:40.925033307 +0200
+@@ -331,6 +331,14 @@
  #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
  #endif
  
@@ -15,24 +28,13 @@
  /* ==== OS() - underlying operating system; only to be used for mandated low-level services like 
     virtual memory, not to choose a GUI toolkit ==== */
  
-@@ -641,7 +649,8 @@
-     || CPU(ALPHA) \
+@@ -656,7 +664,8 @@
      || CPU(ARM64) \
      || CPU(S390X) \
--    || CPU(PPC64)
-+    || CPU(PPC64) \
+     || CPU(PPC64) \
+-    || CPU(PPC64LE)
++    || CPU(PPC64LE) \
 +    || CPU(AARCH64)
  #define WTF_USE_JSVALUE64 1
  #else
  #define WTF_USE_JSVALUE32_64 1
---- webkitgtk-2.3.5/Source/WTF/wtf/dtoa/utils.h.orig	2014-02-07 10:50:15.238174894 +0000
-+++ webkitgtk-2.3.5/Source/WTF/wtf/dtoa/utils.h	2014-02-07 10:50:32.640441629 +0000
-@@ -49,7 +49,7 @@
- defined(__ARMEL__) || \
- defined(_MIPS_ARCH_MIPS32R2)
- #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
--#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA)
-+#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(AARCH64) || CPU(HPPA)
- #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
- #elif defined(_M_IX86) || defined(__i386__)
- #if defined(_WIN32)
diff --git a/webkitgtk3.spec b/webkitgtk3.spec
index 63ac8e5..f0f0aeb 100644
--- a/webkitgtk3.spec
+++ b/webkitgtk3.spec
@@ -6,7 +6,7 @@
         cp -p %1  %{buildroot}%{_pkgdocdir}/$(echo '%1' | sed -e 's!/!.!g')
 
 Name:           webkitgtk3
-Version:        2.4.2
+Version:        2.4.6
 Release:        1%{?dist}
 Summary:        GTK+ Web content engine library
 
@@ -17,9 +17,10 @@ URL:            http://www.webkitgtk.org/
 Source0:        http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz
 
 Patch0:         webkit-1.1.14-nspluginwrapper.patch
-# https://bugs.webkit.org/show_bug.cgi?id=103128
-Patch4:         webkit-2.1.90-double2intsPPC32.patch
-Patch10:        webkitgtk-aarch64.patch
+Patch1:         webkitgtk-aarch64.patch
+Patch2:         webkitgtk-2.4.1-cloop_fix.patch
+Patch3:         webkitgtk-2.4.5-cloop_fix_32.patch
+Patch4:         webkitgtk-2.4.1-ppc64_align.patch
 
 BuildRequires:  at-spi2-core-devel
 BuildRequires:  bison
@@ -53,6 +54,9 @@ BuildRequires:  gobject-introspection-devel >= 1.32.0
 BuildRequires:  perl-Switch
 BuildRequires:  ruby
 BuildRequires:  mesa-libGL-devel
+%ifarch ppc
+BuildRequires:  libatomic
+%endif
 Requires:       geoclue2
 
 %description
@@ -93,10 +97,14 @@ This package contains developer documentation for %{name}.
 %prep
 %setup -qn "webkitgtk-%{version}"
 %patch0 -p1 -b .nspluginwrapper
+%patch1 -p1 -b .aarch64
+%patch2 -p1 -b .cloop_fix
 %ifarch ppc s390
-%patch4 -p1 -b .double2intsPPC32
+%patch3 -p1 -b .cloop_fix_32
+%endif
+%ifarch %{power64} aarch64 ppc
+%patch4 -p1 -b .ppc64_align
 %endif
-%patch10 -p1 -b .aarch64
 
 %build
 # Use linker flags to reduce memory consumption
@@ -112,13 +120,13 @@ This package contains developer documentation for %{name}.
 %global optflags %{optflags} -Wl,-relax -latomic
 %endif
 
-%ifarch s390 s390x ppc ppc64 aarch64
+%ifarch s390 s390x ppc %{power64} aarch64
 %global optflags %{optflags} -DENABLE_YARR_JIT=0
 %endif
 
 %configure                                                      \
                         --with-gtk=3.0                          \
-%ifarch s390 s390x ppc ppc64 aarch64
+%ifarch s390 s390x ppc %{power64} aarch64
                         --disable-jit                           \
 %else
                         --enable-jit                            \
@@ -220,6 +228,9 @@ find $RPM_BUILD_ROOT%{_libdir} -name "*.la" -delete
 %{_datadir}/gtk-doc/html/webkitdomgtk
 
 %changelog
+* Thu Oct 02 2014 Kalev Lember <kalevlember at gmail.com> - 2.4.6-1
+- Update to 2.4.6
+
 * Mon May 12 2014 Kalev Lember <kalevlember at gmail.com> - 2.4.2-1
 - Update to 2.4.2
 


More information about the scm-commits mailing list