From 763361c532d6cbb5bf1ee51a1ec5c096b0cd6204 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 25 Sep 2015 07:52:17 +0200 Subject: [PATCH 1/6] - rhbz#1189303 - [abrt] midori: WebCore::SQLiteStatement::prepare(): midori killed by SIGSEGV Initialize string in SQLiteStatement before using it --- webkitgtk-2.4.9-sql_initialize_string.patch | 12 ++++++++++++ webkitgtk3.spec | 9 ++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 webkitgtk-2.4.9-sql_initialize_string.patch diff --git a/webkitgtk-2.4.9-sql_initialize_string.patch b/webkitgtk-2.4.9-sql_initialize_string.patch new file mode 100644 index 0000000..a34ef14 --- /dev/null +++ b/webkitgtk-2.4.9-sql_initialize_string.patch @@ -0,0 +1,12 @@ +diff -up webkitgtk-2.4.9/Source/WebCore/platform/sql/SQLiteStatement.cpp.sql_initialize_string webkitgtk-2.4.9/Source/WebCore/platform/sql/SQLiteStatement.cpp +--- webkitgtk-2.4.9/Source/WebCore/platform/sql/SQLiteStatement.cpp.sql_initialize_string 2015-09-14 09:25:43.004200172 +0200 ++++ webkitgtk-2.4.9/Source/WebCore/platform/sql/SQLiteStatement.cpp 2015-09-14 09:25:57.852082368 +0200 +@@ -71,7 +71,7 @@ int SQLiteStatement::prepare() + // this lets SQLite avoid an extra string copy. + size_t lengthIncludingNullCharacter = query.length() + 1; + +- const char* tail; ++ const char* tail = nullptr; + int error = sqlite3_prepare_v2(m_database.sqlite3Handle(), query.data(), lengthIncludingNullCharacter, &m_statement, &tail); + + if (error != SQLITE_OK) diff --git a/webkitgtk3.spec b/webkitgtk3.spec index 54a4ae7..2028449 100644 --- a/webkitgtk3.spec +++ b/webkitgtk3.spec @@ -10,7 +10,7 @@ Name: webkitgtk3 Version: 2.4.9 -Release: 2%{?dist} +Release: 3%{?dist} Summary: GTK+ Web content engine library Group: Development/Libraries @@ -26,6 +26,8 @@ Patch3: webkitgtk-2.4.5-cloop_fix_32.patch Patch4: webkitgtk-2.4.1-ppc64_align.patch # https://bugs.webkit.org/show_bug.cgi?id=142074 Patch5: webkitgtk-2.4.8-user-agent.patch +# http://trac.webkit.org/changeset/169665 +Patch6: webkitgtk-2.4.9-sql_initialize_string.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -94,6 +96,7 @@ This package contains developer documentation for %{name}. %patch1 -p1 -b .aarch64 %patch2 -p1 -b .cloop_fix %patch5 -p1 -b .user_agent +%patch6 -p1 -b .sql_initialize_string %ifarch ppc s390 %patch3 -p1 -b .cloop_fix_32 %endif @@ -207,6 +210,10 @@ find $RPM_BUILD_ROOT%{_libdir} -name "*.la" -delete %{_datadir}/gtk-doc/html/webkitdomgtk %changelog +* Fri Sep 25 2015 Tomas Popela - 2.4.9-3 +- rhbz#1189303 - [abrt] midori: WebCore::SQLiteStatement::prepare(): midori killed by SIGSEGV + Initialize string in SQLiteStatement before using it + * Fri Jun 19 2015 Fedora Release Engineering - 2.4.9-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild From b20b00782e56774501c8f711dbe943ece3b4c881 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 14 Mar 2016 11:39:26 +0100 Subject: [PATCH 2/6] Update to 2.4.10 --- sources | 2 +- webkitgtk-2.4.1-cloop_fix.patch | 199 -------------------- webkitgtk-2.4.1-ppc64_align.patch | 45 ----- webkitgtk-2.4.5-cloop_fix_32.patch | 31 --- webkitgtk-2.4.9-sql_initialize_string.patch | 12 -- webkitgtk-aarch64.patch | 39 ---- webkitgtk3.spec | 26 +-- 7 files changed, 8 insertions(+), 346 deletions(-) delete mode 100644 webkitgtk-2.4.1-cloop_fix.patch delete mode 100644 webkitgtk-2.4.1-ppc64_align.patch delete mode 100644 webkitgtk-2.4.5-cloop_fix_32.patch delete mode 100644 webkitgtk-2.4.9-sql_initialize_string.patch delete mode 100644 webkitgtk-aarch64.patch diff --git a/sources b/sources index 1f8355d..65e6d9c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -312fd29eb7f5970660c6a64b8bf8420e webkitgtk-2.4.9.tar.xz +1b3f18d4087dfc648e8060c14e16e202 webkitgtk-2.4.10.tar.xz diff --git a/webkitgtk-2.4.1-cloop_fix.patch b/webkitgtk-2.4.1-cloop_fix.patch deleted file mode 100644 index 2675caf..0000000 --- a/webkitgtk-2.4.1-cloop_fix.patch +++ /dev/null @@ -1,199 +0,0 @@ -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(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(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 deleted file mode 100644 index 5186d60..0000000 --- a/webkitgtk-2.4.1-ppc64_align.patch +++ /dev/null @@ -1,45 +0,0 @@ -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(m_commitEnd) - reinterpret_cast(newEnd), commitSize); -+ size_t commitsize = pageSize(); -+ long delta = roundUpAllocationSize(reinterpret_cast(m_commitEnd) - reinterpret_cast(newEnd), commitsize); - if (reinterpret_cast(m_commitEnd) - delta <= reinterpret_cast(m_useableEnd)) - return false; - -@@ -134,7 +136,8 @@ void JSStack::enableErrorStackReserve() - - void JSStack::disableErrorStackReserve() - { -- char* useableEnd = reinterpret_cast(reservationEnd()) + commitSize; -+ size_t commitsize = pageSize(); -+ char* useableEnd = reinterpret_cast(reservationEnd()) + commitsize; - m_useableEnd = reinterpret_cast_ptr(useableEnd); - - // By the time we get here, we are guaranteed to be destructing the last diff --git a/webkitgtk-2.4.5-cloop_fix_32.patch b/webkitgtk-2.4.5-cloop_fix_32.patch deleted file mode 100644 index 96c53ad..0000000 --- a/webkitgtk-2.4.5-cloop_fix_32.patch +++ /dev/null @@ -1,31 +0,0 @@ -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 - 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 -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 - - 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 diff --git a/webkitgtk-2.4.9-sql_initialize_string.patch b/webkitgtk-2.4.9-sql_initialize_string.patch deleted file mode 100644 index a34ef14..0000000 --- a/webkitgtk-2.4.9-sql_initialize_string.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up webkitgtk-2.4.9/Source/WebCore/platform/sql/SQLiteStatement.cpp.sql_initialize_string webkitgtk-2.4.9/Source/WebCore/platform/sql/SQLiteStatement.cpp ---- webkitgtk-2.4.9/Source/WebCore/platform/sql/SQLiteStatement.cpp.sql_initialize_string 2015-09-14 09:25:43.004200172 +0200 -+++ webkitgtk-2.4.9/Source/WebCore/platform/sql/SQLiteStatement.cpp 2015-09-14 09:25:57.852082368 +0200 -@@ -71,7 +71,7 @@ int SQLiteStatement::prepare() - // this lets SQLite avoid an extra string copy. - size_t lengthIncludingNullCharacter = query.length() + 1; - -- const char* tail; -+ const char* tail = nullptr; - int error = sqlite3_prepare_v2(m_database.sqlite3Handle(), query.data(), lengthIncludingNullCharacter, &m_statement, &tail); - - if (error != SQLITE_OK) diff --git a/webkitgtk-aarch64.patch b/webkitgtk-aarch64.patch deleted file mode 100644 index 6a82264..0000000 --- a/webkitgtk-aarch64.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -up webkitgtk-2.4.9/Source/WTF/wtf/dtoa/utils.h.aarch64 webkitgtk-2.4.9/Source/WTF/wtf/dtoa/utils.h ---- webkitgtk-2.4.9/Source/WTF/wtf/dtoa/utils.h.aarch64 2015-05-20 11:03:24.000000000 +0200 -+++ webkitgtk-2.4.9/Source/WTF/wtf/dtoa/utils.h 2015-05-20 13:45:35.629023925 +0200 -@@ -49,7 +49,7 @@ - defined(__ARMEL__) || \ - defined(_MIPS_ARCH_MIPS32R2) - #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 --#elif CPU(MIPS) || CPU(MIPS64) || 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(MIPS64) || 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.9/Source/WTF/wtf/Platform.h.aarch64 webkitgtk-2.4.9/Source/WTF/wtf/Platform.h ---- webkitgtk-2.4.9/Source/WTF/wtf/Platform.h.aarch64 2015-05-20 11:03:24.000000000 +0200 -+++ webkitgtk-2.4.9/Source/WTF/wtf/Platform.h 2015-05-20 13:47:34.439861401 +0200 -@@ -334,6 +334,14 @@ - #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1 - #endif - -+/* CPU(AARCH64) - AArch64 */ -+#if defined(__aarch64__) -+#define WTF_CPU_AARCH64 1 -+#if defined(__AARCH64BE__) -+#define WTF_CPU_BIG_ENDIAN 1 -+#endif -+#endif -+ - /* ==== OS() - underlying operating system; only to be used for mandated low-level services like - virtual memory, not to choose a GUI toolkit ==== */ - -@@ -654,7 +662,7 @@ - #if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS))) \ - || (CPU(IA64) && !CPU(IA64_32)) \ - || CPU(ALPHA) \ -- || CPU(ARM64) \ -+ || CPU(AARCH64) \ - || CPU(S390X) \ - || CPU(MIPS64) \ - || CPU(PPC64) \ diff --git a/webkitgtk3.spec b/webkitgtk3.spec index 2028449..865a549 100644 --- a/webkitgtk3.spec +++ b/webkitgtk3.spec @@ -9,8 +9,8 @@ cp -p %1 %{buildroot}%{_pkgdocdir}/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk3 -Version: 2.4.9 -Release: 3%{?dist} +Version: 2.4.10 +Release: 1%{?dist} Summary: GTK+ Web content engine library Group: Development/Libraries @@ -20,14 +20,8 @@ URL: http://www.webkitgtk.org/ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz Patch0: webkit-1.1.14-nspluginwrapper.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 # https://bugs.webkit.org/show_bug.cgi?id=142074 -Patch5: webkitgtk-2.4.8-user-agent.patch -# http://trac.webkit.org/changeset/169665 -Patch6: webkitgtk-2.4.9-sql_initialize_string.patch +Patch1: webkitgtk-2.4.8-user-agent.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -93,16 +87,7 @@ 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 -%patch5 -p1 -b .user_agent -%patch6 -p1 -b .sql_initialize_string -%ifarch ppc s390 -%patch3 -p1 -b .cloop_fix_32 -%endif -%ifarch %{power64} aarch64 ppc -%patch4 -p1 -b .ppc64_align -%endif +%patch1 -p1 -b .user_agent %build # Use linker flags to reduce memory consumption @@ -210,6 +195,9 @@ find $RPM_BUILD_ROOT%{_libdir} -name "*.la" -delete %{_datadir}/gtk-doc/html/webkitdomgtk %changelog +* Mon Mar 14 2016 Tomas Popela - 2.4.10-1 +- Update to 2.4.10 + * Fri Sep 25 2015 Tomas Popela - 2.4.9-3 - rhbz#1189303 - [abrt] midori: WebCore::SQLiteStatement::prepare(): midori killed by SIGSEGV Initialize string in SQLiteStatement before using it From af0020d2adc8f17e16ee4a204312146688488c86 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 5 Apr 2016 10:03:38 +0200 Subject: [PATCH 3/6] rhbz#1321722 - [abrt] evolution: WTF::StringImpl::startsWith(): SIGSEGV with webkitgtk3-2.4.10 --- webkitgtk-2.4.10-qualified-name.patch | 12 ++++++++++++ webkitgtk3.spec | 8 +++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 webkitgtk-2.4.10-qualified-name.patch diff --git a/webkitgtk-2.4.10-qualified-name.patch b/webkitgtk-2.4.10-qualified-name.patch new file mode 100644 index 0000000..6bd2dd3 --- /dev/null +++ b/webkitgtk-2.4.10-qualified-name.patch @@ -0,0 +1,12 @@ +diff -up webkitgtk-2.4.10/Source/WebCore/dom/Element.cpp.qualified-name webkitgtk-2.4.10/Source/WebCore/dom/Element.cpp +--- webkitgtk-2.4.10/Source/WebCore/dom/Element.cpp.qualified-name 2016-04-05 09:58:17.928258276 +0200 ++++ webkitgtk-2.4.10/Source/WebCore/dom/Element.cpp 2016-04-05 09:58:23.240229758 +0200 +@@ -1056,7 +1056,7 @@ inline void Element::setAttributeInterna + const Attribute& attribute = attributeAt(index); + AtomicString oldValue = attribute.value(); + bool valueChanged = newValue != oldValue; +- const QualifiedName& attributeName = (!inSynchronizationOfLazyAttribute || valueChanged) ? attribute.name() : name; ++ QualifiedName attributeName = (!inSynchronizationOfLazyAttribute || valueChanged) ? attribute.name() : name; + + if (!inSynchronizationOfLazyAttribute) + willModifyAttribute(attributeName, oldValue, newValue); diff --git a/webkitgtk3.spec b/webkitgtk3.spec index 865a549..cda1000 100644 --- a/webkitgtk3.spec +++ b/webkitgtk3.spec @@ -10,7 +10,7 @@ Name: webkitgtk3 Version: 2.4.10 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library Group: Development/Libraries @@ -22,6 +22,8 @@ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz Patch0: webkit-1.1.14-nspluginwrapper.patch # https://bugs.webkit.org/show_bug.cgi?id=142074 Patch1: webkitgtk-2.4.8-user-agent.patch +# http://trac.webkit.org/changeset/165044 +Patch2: webkitgtk-2.4.10-qualified-name.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -88,6 +90,7 @@ This package contains developer documentation for %{name}. %setup -qn "webkitgtk-%{version}" %patch0 -p1 -b .nspluginwrapper %patch1 -p1 -b .user_agent +%patch2 -p1 -b .qualified-name %build # Use linker flags to reduce memory consumption @@ -195,6 +198,9 @@ find $RPM_BUILD_ROOT%{_libdir} -name "*.la" -delete %{_datadir}/gtk-doc/html/webkitdomgtk %changelog +* Tue Apr 05 2016 Tomas Popela - 2.4.10-2 +- rhbz#1321722 - [abrt] evolution: WTF::StringImpl::startsWith(): SIGSEGV with webkitgtk3-2.4.10 + * Mon Mar 14 2016 Tomas Popela - 2.4.10-1 - Update to 2.4.10 From 9b84cb8eec192e481fedefc6efbd2cfb44a86d52 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 6 Apr 2016 07:48:54 +0200 Subject: [PATCH 4/6] Fix the compilation on aarch64 --- webkitgtk-2.4.10-arm64-asm.patch | 108 +++++++++++++++++++++++++++++++ webkitgtk-2.4.10-arm64-gcc.patch | 45 +++++++++++++ webkitgtk3.spec | 11 +++- 3 files changed, 163 insertions(+), 1 deletion(-) create mode 100644 webkitgtk-2.4.10-arm64-asm.patch create mode 100644 webkitgtk-2.4.10-arm64-gcc.patch diff --git a/webkitgtk-2.4.10-arm64-asm.patch b/webkitgtk-2.4.10-arm64-asm.patch new file mode 100644 index 0000000..c5d8695 --- /dev/null +++ b/webkitgtk-2.4.10-arm64-asm.patch @@ -0,0 +1,108 @@ +diff -up webkitgtk-2.4.10/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp.arm64-asm webkitgtk-2.4.10/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp +--- webkitgtk-2.4.10/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp.arm64-asm 2016-04-05 14:49:20.174877057 +0200 ++++ webkitgtk-2.4.10/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp 2016-04-05 14:49:48.680774345 +0200 +@@ -1040,61 +1040,61 @@ TransformationMatrix& TransformationMatr + const double* rightMatrix = &(mat.m_matrix[0][0]); + asm volatile ( + // First, load the leftMatrix completely in memory. The leftMatrix is in v16-v23. +- "mov x4, %[leftMatrix]\n\t" +- "ld1.2d {v16, v17, v18, v19}, [%[leftMatrix]], #64\n\t" +- "ld1.2d {v20, v21, v22, v23}, [%[leftMatrix]]\n\t" ++ "mov x4, %[leftMatrix]\n\t" ++ "ld1 {v16.2d, v17.2d, v18.2d, v19.2d}, [%[leftMatrix]], #64\n\t" ++ "ld1 {v20.2d, v21.2d, v22.2d, v23.2d}, [%[leftMatrix]]\n\t" + + // First row. +- "ld4r.2d {v24, v25, v26, v27}, [%[rightMatrix]], #32\n\t" +- "fmul.2d v28, v24, v16\n\t" +- "fmul.2d v29, v24, v17\n\t" +- "fmla.2d v28, v25, v18\n\t" +- "fmla.2d v29, v25, v19\n\t" +- "fmla.2d v28, v26, v20\n\t" +- "fmla.2d v29, v26, v21\n\t" +- "fmla.2d v28, v27, v22\n\t" +- "fmla.2d v29, v27, v23\n\t" ++ "ld4r {v24.2d, v25.2d, v26.2d, v27.2d}, [%[rightMatrix]], #32\n\t" ++ "fmul v28.2d, v24.2d, v16.2d\n\t" ++ "fmul v29.2d, v24.2d, v17.2d\n\t" ++ "fmla v28.2d, v25.2d, v18.2d\n\t" ++ "fmla v29.2d, v25.2d, v19.2d\n\t" ++ "fmla v28.2d, v26.2d, v20.2d\n\t" ++ "fmla v29.2d, v26.2d, v21.2d\n\t" ++ "fmla v28.2d, v27.2d, v22.2d\n\t" ++ "fmla v29.2d, v27.2d, v23.2d\n\t" + +- "ld4r.2d {v0, v1, v2, v3}, [%[rightMatrix]], #32\n\t" +- "st1.2d {v28, v29}, [x4], #32\n\t" ++ "ld4r {v0.2d, v1.2d, v2.2d, v3.2d}, [%[rightMatrix]], #32\n\t" ++ "st1 {v28.2d, v29.2d}, [x4], #32\n\t" + + // Second row. +- "fmul.2d v30, v0, v16\n\t" +- "fmul.2d v31, v0, v17\n\t" +- "fmla.2d v30, v1, v18\n\t" +- "fmla.2d v31, v1, v19\n\t" +- "fmla.2d v30, v2, v20\n\t" +- "fmla.2d v31, v2, v21\n\t" +- "fmla.2d v30, v3, v22\n\t" +- "fmla.2d v31, v3, v23\n\t" ++ "fmul v30.2d, v0.2d, v16.2d\n\t" ++ "fmul v31.2d, v0.2d, v17.2d\n\t" ++ "fmla v30.2d, v1.2d, v18.2d\n\t" ++ "fmla v31.2d, v1.2d, v19.2d\n\t" ++ "fmla v30.2d, v2.2d, v20.2d\n\t" ++ "fmla v31.2d, v2.2d, v21.2d\n\t" ++ "fmla v30.2d, v3.2d, v22.2d\n\t" ++ "fmla v31.2d, v3.2d, v23.2d\n\t" + +- "ld4r.2d {v24, v25, v26, v27}, [%[rightMatrix]], #32\n\t" +- "st1.2d {v30, v31}, [x4], #32\n\t" ++ "ld4r {v24.2d, v25.2d, v26.2d, v27.2d}, [%[rightMatrix]], #32\n\t" ++ "st1 {v30.2d, v31.2d}, [x4], #32\n\t" + + // Third row. +- "fmul.2d v28, v24, v16\n\t" +- "fmul.2d v29, v24, v17\n\t" +- "fmla.2d v28, v25, v18\n\t" +- "fmla.2d v29, v25, v19\n\t" +- "fmla.2d v28, v26, v20\n\t" +- "fmla.2d v29, v26, v21\n\t" +- "fmla.2d v28, v27, v22\n\t" +- "fmla.2d v29, v27, v23\n\t" ++ "fmul v28.2d, v24.2d, v16.2d\n\t" ++ "fmul v29.2d, v24.2d, v17.2d\n\t" ++ "fmla v28.2d, v25.2d, v18.2d\n\t" ++ "fmla v29.2d, v25.2d, v19.2d\n\t" ++ "fmla v28.2d, v26.2d, v20.2d\n\t" ++ "fmla v29.2d, v26.2d, v21.2d\n\t" ++ "fmla v28.2d, v27.2d, v22.2d\n\t" ++ "fmla v29.2d, v27.2d, v23.2d\n\t" + +- "ld4r.2d {v0, v1, v2, v3}, [%[rightMatrix]], #32\n\t" +- "st1.2d {v28, v29}, [x4], #32\n\t" ++ "ld4r {v0.2d, v1.2d, v2.2d, v3.2d}, [%[rightMatrix]], #32\n\t" ++ "st1 {v28.2d, v29.2d}, [x4], #32\n\t" + + // Fourth row. +- "fmul.2d v30, v0, v16\n\t" +- "fmul.2d v31, v0, v17\n\t" +- "fmla.2d v30, v1, v18\n\t" +- "fmla.2d v31, v1, v19\n\t" +- "fmla.2d v30, v2, v20\n\t" +- "fmla.2d v31, v2, v21\n\t" +- "fmla.2d v30, v3, v22\n\t" +- "fmla.2d v31, v3, v23\n\t" ++ "fmul v30.2d, v0.2d, v16.2d\n\t" ++ "fmul v31.2d, v0.2d, v17.2d\n\t" ++ "fmla v30.2d, v1.2d, v18.2d\n\t" ++ "fmla v31.2d, v1.2d, v19.2d\n\t" ++ "fmla v30.2d, v2.2d, v20.2d\n\t" ++ "fmla v31.2d, v2.2d, v21.2d\n\t" ++ "fmla v30.2d, v3.2d, v22.2d\n\t" ++ "fmla v31.2d, v3.2d, v23.2d\n\t" + +- "st1.2d {v30, v31}, [x4]\n\t" ++ "st1 {v30.2d, v31.2d}, [x4]\n\t" + + : [leftMatrix]"+r"(leftMatrix), [rightMatrix]"+r"(rightMatrix) + : diff --git a/webkitgtk-2.4.10-arm64-gcc.patch b/webkitgtk-2.4.10-arm64-gcc.patch new file mode 100644 index 0000000..bad1e64 --- /dev/null +++ b/webkitgtk-2.4.10-arm64-gcc.patch @@ -0,0 +1,45 @@ +diff -up webkitgtk-2.4.10/Source/WTF/wtf/Atomics.h.arm64_gcc webkitgtk-2.4.10/Source/WTF/wtf/Atomics.h +--- webkitgtk-2.4.10/Source/WTF/wtf/Atomics.h.arm64_gcc 2016-04-05 13:17:49.467473861 +0200 ++++ webkitgtk-2.4.10/Source/WTF/wtf/Atomics.h 2016-04-05 13:18:00.812429048 +0200 +@@ -113,6 +113,20 @@ inline bool weakCompareAndSwap(volatile + : "r"(expected), "r"(newValue) + : "memory"); + result = !result; ++#elif CPU(ARM64) && COMPILER(GCC) ++ unsigned tmp; ++ unsigned result; ++ asm volatile( ++ "mov %w1, #1\n\t" ++ "ldxr %w2, [%0]\n\t" ++ "cmp %w3, %w2\n\t" ++ "b.ne 0f\n\t" ++ "stxr %w1, %w4, [%0]\n\t" ++ "0:" ++ : "+r"(location), "=&r"(result), "=&r"(tmp) ++ : "r"(expected), "r"(newValue) ++ : "memory"); ++ result = !result; + #elif CPU(ARM64) + unsigned tmp; + unsigned result; +@@ -153,6 +167,20 @@ inline bool weakCompareAndSwap(void*vola + : "memory" + ); + return result; ++#elif CPU(ARM64) && COMPILER(GCC) ++ bool result; ++ void* tmp; ++ asm volatile( ++ "mov %w1, #1\n\t" ++ "ldxr %x2, [%0]\n\t" ++ "cmp %x3, %x2\n\t" ++ "b.ne 0f\n\t" ++ "stxr %w1, %x4, [%0]\n\t" ++ "0:" ++ : "+r"(location), "=&r"(result), "=&r"(tmp) ++ : "r"(expected), "r"(newValue) ++ : "memory"); ++ return !result; + #elif CPU(ARM64) + bool result; + void* tmp; diff --git a/webkitgtk3.spec b/webkitgtk3.spec index cda1000..6cf90be 100644 --- a/webkitgtk3.spec +++ b/webkitgtk3.spec @@ -10,7 +10,7 @@ Name: webkitgtk3 Version: 2.4.10 -Release: 2%{?dist} +Release: 3%{?dist} Summary: GTK+ Web content engine library Group: Development/Libraries @@ -24,6 +24,10 @@ Patch0: webkit-1.1.14-nspluginwrapper.patch Patch1: webkitgtk-2.4.8-user-agent.patch # http://trac.webkit.org/changeset/165044 Patch2: webkitgtk-2.4.10-qualified-name.patch +# http://trac.webkit.org/changeset/166234 +Patch3: webkitgtk-2.4.10-arm64-gcc.patch +# http://trac.webkit.org/changeset/166233 +Patch4: webkitgtk-2.4.10-arm64-asm.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -91,6 +95,8 @@ This package contains developer documentation for %{name}. %patch0 -p1 -b .nspluginwrapper %patch1 -p1 -b .user_agent %patch2 -p1 -b .qualified-name +%patch3 -p1 -b .arm64-gcc.patch +%patch4 -p1 -b .arm64-asm.patch %build # Use linker flags to reduce memory consumption @@ -198,6 +204,9 @@ find $RPM_BUILD_ROOT%{_libdir} -name "*.la" -delete %{_datadir}/gtk-doc/html/webkitdomgtk %changelog +* Tue Apr 05 2016 Tomas Popela - 2.4.10-3 +- Fix the compilation on aarch64 + * Tue Apr 05 2016 Tomas Popela - 2.4.10-2 - rhbz#1321722 - [abrt] evolution: WTF::StringImpl::startsWith(): SIGSEGV with webkitgtk3-2.4.10 From b58d1b59426f0dd56537ec819f020ed671d0f4e5 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 11 Apr 2016 08:45:56 +0200 Subject: [PATCH 5/6] Update to 2.4.11 --- sources | 2 +- webkitgtk-2.4.10-arm64-asm.patch | 108 -------------------------- webkitgtk-2.4.10-arm64-gcc.patch | 45 ----------- webkitgtk-2.4.10-qualified-name.patch | 12 --- webkitgtk3.spec | 18 ++--- 5 files changed, 7 insertions(+), 178 deletions(-) delete mode 100644 webkitgtk-2.4.10-arm64-asm.patch delete mode 100644 webkitgtk-2.4.10-arm64-gcc.patch delete mode 100644 webkitgtk-2.4.10-qualified-name.patch diff --git a/sources b/sources index 65e6d9c..b11eb4f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1b3f18d4087dfc648e8060c14e16e202 webkitgtk-2.4.10.tar.xz +24a25ccc30a7914ae50922aedf24b7bc webkitgtk-2.4.11.tar.xz diff --git a/webkitgtk-2.4.10-arm64-asm.patch b/webkitgtk-2.4.10-arm64-asm.patch deleted file mode 100644 index c5d8695..0000000 --- a/webkitgtk-2.4.10-arm64-asm.patch +++ /dev/null @@ -1,108 +0,0 @@ -diff -up webkitgtk-2.4.10/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp.arm64-asm webkitgtk-2.4.10/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp ---- webkitgtk-2.4.10/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp.arm64-asm 2016-04-05 14:49:20.174877057 +0200 -+++ webkitgtk-2.4.10/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp 2016-04-05 14:49:48.680774345 +0200 -@@ -1040,61 +1040,61 @@ TransformationMatrix& TransformationMatr - const double* rightMatrix = &(mat.m_matrix[0][0]); - asm volatile ( - // First, load the leftMatrix completely in memory. The leftMatrix is in v16-v23. -- "mov x4, %[leftMatrix]\n\t" -- "ld1.2d {v16, v17, v18, v19}, [%[leftMatrix]], #64\n\t" -- "ld1.2d {v20, v21, v22, v23}, [%[leftMatrix]]\n\t" -+ "mov x4, %[leftMatrix]\n\t" -+ "ld1 {v16.2d, v17.2d, v18.2d, v19.2d}, [%[leftMatrix]], #64\n\t" -+ "ld1 {v20.2d, v21.2d, v22.2d, v23.2d}, [%[leftMatrix]]\n\t" - - // First row. -- "ld4r.2d {v24, v25, v26, v27}, [%[rightMatrix]], #32\n\t" -- "fmul.2d v28, v24, v16\n\t" -- "fmul.2d v29, v24, v17\n\t" -- "fmla.2d v28, v25, v18\n\t" -- "fmla.2d v29, v25, v19\n\t" -- "fmla.2d v28, v26, v20\n\t" -- "fmla.2d v29, v26, v21\n\t" -- "fmla.2d v28, v27, v22\n\t" -- "fmla.2d v29, v27, v23\n\t" -+ "ld4r {v24.2d, v25.2d, v26.2d, v27.2d}, [%[rightMatrix]], #32\n\t" -+ "fmul v28.2d, v24.2d, v16.2d\n\t" -+ "fmul v29.2d, v24.2d, v17.2d\n\t" -+ "fmla v28.2d, v25.2d, v18.2d\n\t" -+ "fmla v29.2d, v25.2d, v19.2d\n\t" -+ "fmla v28.2d, v26.2d, v20.2d\n\t" -+ "fmla v29.2d, v26.2d, v21.2d\n\t" -+ "fmla v28.2d, v27.2d, v22.2d\n\t" -+ "fmla v29.2d, v27.2d, v23.2d\n\t" - -- "ld4r.2d {v0, v1, v2, v3}, [%[rightMatrix]], #32\n\t" -- "st1.2d {v28, v29}, [x4], #32\n\t" -+ "ld4r {v0.2d, v1.2d, v2.2d, v3.2d}, [%[rightMatrix]], #32\n\t" -+ "st1 {v28.2d, v29.2d}, [x4], #32\n\t" - - // Second row. -- "fmul.2d v30, v0, v16\n\t" -- "fmul.2d v31, v0, v17\n\t" -- "fmla.2d v30, v1, v18\n\t" -- "fmla.2d v31, v1, v19\n\t" -- "fmla.2d v30, v2, v20\n\t" -- "fmla.2d v31, v2, v21\n\t" -- "fmla.2d v30, v3, v22\n\t" -- "fmla.2d v31, v3, v23\n\t" -+ "fmul v30.2d, v0.2d, v16.2d\n\t" -+ "fmul v31.2d, v0.2d, v17.2d\n\t" -+ "fmla v30.2d, v1.2d, v18.2d\n\t" -+ "fmla v31.2d, v1.2d, v19.2d\n\t" -+ "fmla v30.2d, v2.2d, v20.2d\n\t" -+ "fmla v31.2d, v2.2d, v21.2d\n\t" -+ "fmla v30.2d, v3.2d, v22.2d\n\t" -+ "fmla v31.2d, v3.2d, v23.2d\n\t" - -- "ld4r.2d {v24, v25, v26, v27}, [%[rightMatrix]], #32\n\t" -- "st1.2d {v30, v31}, [x4], #32\n\t" -+ "ld4r {v24.2d, v25.2d, v26.2d, v27.2d}, [%[rightMatrix]], #32\n\t" -+ "st1 {v30.2d, v31.2d}, [x4], #32\n\t" - - // Third row. -- "fmul.2d v28, v24, v16\n\t" -- "fmul.2d v29, v24, v17\n\t" -- "fmla.2d v28, v25, v18\n\t" -- "fmla.2d v29, v25, v19\n\t" -- "fmla.2d v28, v26, v20\n\t" -- "fmla.2d v29, v26, v21\n\t" -- "fmla.2d v28, v27, v22\n\t" -- "fmla.2d v29, v27, v23\n\t" -+ "fmul v28.2d, v24.2d, v16.2d\n\t" -+ "fmul v29.2d, v24.2d, v17.2d\n\t" -+ "fmla v28.2d, v25.2d, v18.2d\n\t" -+ "fmla v29.2d, v25.2d, v19.2d\n\t" -+ "fmla v28.2d, v26.2d, v20.2d\n\t" -+ "fmla v29.2d, v26.2d, v21.2d\n\t" -+ "fmla v28.2d, v27.2d, v22.2d\n\t" -+ "fmla v29.2d, v27.2d, v23.2d\n\t" - -- "ld4r.2d {v0, v1, v2, v3}, [%[rightMatrix]], #32\n\t" -- "st1.2d {v28, v29}, [x4], #32\n\t" -+ "ld4r {v0.2d, v1.2d, v2.2d, v3.2d}, [%[rightMatrix]], #32\n\t" -+ "st1 {v28.2d, v29.2d}, [x4], #32\n\t" - - // Fourth row. -- "fmul.2d v30, v0, v16\n\t" -- "fmul.2d v31, v0, v17\n\t" -- "fmla.2d v30, v1, v18\n\t" -- "fmla.2d v31, v1, v19\n\t" -- "fmla.2d v30, v2, v20\n\t" -- "fmla.2d v31, v2, v21\n\t" -- "fmla.2d v30, v3, v22\n\t" -- "fmla.2d v31, v3, v23\n\t" -+ "fmul v30.2d, v0.2d, v16.2d\n\t" -+ "fmul v31.2d, v0.2d, v17.2d\n\t" -+ "fmla v30.2d, v1.2d, v18.2d\n\t" -+ "fmla v31.2d, v1.2d, v19.2d\n\t" -+ "fmla v30.2d, v2.2d, v20.2d\n\t" -+ "fmla v31.2d, v2.2d, v21.2d\n\t" -+ "fmla v30.2d, v3.2d, v22.2d\n\t" -+ "fmla v31.2d, v3.2d, v23.2d\n\t" - -- "st1.2d {v30, v31}, [x4]\n\t" -+ "st1 {v30.2d, v31.2d}, [x4]\n\t" - - : [leftMatrix]"+r"(leftMatrix), [rightMatrix]"+r"(rightMatrix) - : diff --git a/webkitgtk-2.4.10-arm64-gcc.patch b/webkitgtk-2.4.10-arm64-gcc.patch deleted file mode 100644 index bad1e64..0000000 --- a/webkitgtk-2.4.10-arm64-gcc.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -up webkitgtk-2.4.10/Source/WTF/wtf/Atomics.h.arm64_gcc webkitgtk-2.4.10/Source/WTF/wtf/Atomics.h ---- webkitgtk-2.4.10/Source/WTF/wtf/Atomics.h.arm64_gcc 2016-04-05 13:17:49.467473861 +0200 -+++ webkitgtk-2.4.10/Source/WTF/wtf/Atomics.h 2016-04-05 13:18:00.812429048 +0200 -@@ -113,6 +113,20 @@ inline bool weakCompareAndSwap(volatile - : "r"(expected), "r"(newValue) - : "memory"); - result = !result; -+#elif CPU(ARM64) && COMPILER(GCC) -+ unsigned tmp; -+ unsigned result; -+ asm volatile( -+ "mov %w1, #1\n\t" -+ "ldxr %w2, [%0]\n\t" -+ "cmp %w3, %w2\n\t" -+ "b.ne 0f\n\t" -+ "stxr %w1, %w4, [%0]\n\t" -+ "0:" -+ : "+r"(location), "=&r"(result), "=&r"(tmp) -+ : "r"(expected), "r"(newValue) -+ : "memory"); -+ result = !result; - #elif CPU(ARM64) - unsigned tmp; - unsigned result; -@@ -153,6 +167,20 @@ inline bool weakCompareAndSwap(void*vola - : "memory" - ); - return result; -+#elif CPU(ARM64) && COMPILER(GCC) -+ bool result; -+ void* tmp; -+ asm volatile( -+ "mov %w1, #1\n\t" -+ "ldxr %x2, [%0]\n\t" -+ "cmp %x3, %x2\n\t" -+ "b.ne 0f\n\t" -+ "stxr %w1, %x4, [%0]\n\t" -+ "0:" -+ : "+r"(location), "=&r"(result), "=&r"(tmp) -+ : "r"(expected), "r"(newValue) -+ : "memory"); -+ return !result; - #elif CPU(ARM64) - bool result; - void* tmp; diff --git a/webkitgtk-2.4.10-qualified-name.patch b/webkitgtk-2.4.10-qualified-name.patch deleted file mode 100644 index 6bd2dd3..0000000 --- a/webkitgtk-2.4.10-qualified-name.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up webkitgtk-2.4.10/Source/WebCore/dom/Element.cpp.qualified-name webkitgtk-2.4.10/Source/WebCore/dom/Element.cpp ---- webkitgtk-2.4.10/Source/WebCore/dom/Element.cpp.qualified-name 2016-04-05 09:58:17.928258276 +0200 -+++ webkitgtk-2.4.10/Source/WebCore/dom/Element.cpp 2016-04-05 09:58:23.240229758 +0200 -@@ -1056,7 +1056,7 @@ inline void Element::setAttributeInterna - const Attribute& attribute = attributeAt(index); - AtomicString oldValue = attribute.value(); - bool valueChanged = newValue != oldValue; -- const QualifiedName& attributeName = (!inSynchronizationOfLazyAttribute || valueChanged) ? attribute.name() : name; -+ QualifiedName attributeName = (!inSynchronizationOfLazyAttribute || valueChanged) ? attribute.name() : name; - - if (!inSynchronizationOfLazyAttribute) - willModifyAttribute(attributeName, oldValue, newValue); diff --git a/webkitgtk3.spec b/webkitgtk3.spec index 6cf90be..d74da9b 100644 --- a/webkitgtk3.spec +++ b/webkitgtk3.spec @@ -9,8 +9,8 @@ cp -p %1 %{buildroot}%{_pkgdocdir}/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk3 -Version: 2.4.10 -Release: 3%{?dist} +Version: 2.4.11 +Release: 1%{?dist} Summary: GTK+ Web content engine library Group: Development/Libraries @@ -22,12 +22,6 @@ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz Patch0: webkit-1.1.14-nspluginwrapper.patch # https://bugs.webkit.org/show_bug.cgi?id=142074 Patch1: webkitgtk-2.4.8-user-agent.patch -# http://trac.webkit.org/changeset/165044 -Patch2: webkitgtk-2.4.10-qualified-name.patch -# http://trac.webkit.org/changeset/166234 -Patch3: webkitgtk-2.4.10-arm64-gcc.patch -# http://trac.webkit.org/changeset/166233 -Patch4: webkitgtk-2.4.10-arm64-asm.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -94,9 +88,6 @@ This package contains developer documentation for %{name}. %setup -qn "webkitgtk-%{version}" %patch0 -p1 -b .nspluginwrapper %patch1 -p1 -b .user_agent -%patch2 -p1 -b .qualified-name -%patch3 -p1 -b .arm64-gcc.patch -%patch4 -p1 -b .arm64-asm.patch %build # Use linker flags to reduce memory consumption @@ -109,7 +100,7 @@ This package contains developer documentation for %{name}. %ifarch ppc # Use linker flag -relax to get WebKit2 build under ppc(32) with JIT disabled -%global optflags %{optflags} -Wl,-relax -latomic +%global optflags %{optflags} -Wl,-relax %endif %ifarch s390 s390x ppc %{power64} aarch64 @@ -204,6 +195,9 @@ find $RPM_BUILD_ROOT%{_libdir} -name "*.la" -delete %{_datadir}/gtk-doc/html/webkitdomgtk %changelog +* Mon Apr 11 2016 Tomas Popela - 2.4.11-1 +- Update to 2.4.11 + * Tue Apr 05 2016 Tomas Popela - 2.4.10-3 - Fix the compilation on aarch64 From adcabf17d8c7c9f5e6dcc9f865f9e9baa0a59a0e Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 26 Sep 2016 09:40:01 +0200 Subject: [PATCH 6/6] Update the package description so it reflects the current state of package. --- webkitgtk3.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webkitgtk3.spec b/webkitgtk3.spec index d74da9b..eec0e3e 100644 --- a/webkitgtk3.spec +++ b/webkitgtk3.spec @@ -64,7 +64,7 @@ Requires: geoclue2 WebKitGTK+ is the port of the portable web rendering engine WebKit to the GTK+ platform. -This package contains WebKitGTK+ for GTK+ 3. +This package contains an insecure and deprecated version of WebKitGTK+ for GTK+ 3. Use WebKit2 instead. %package devel Summary: Development files for %{name}