Hello community,

here is the log from the commit of package webkitgtk for openSUSE:Factory 
checked in at 2014-06-01 18:54:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/webkitgtk (Old)
 and      /work/SRC/openSUSE:Factory/.webkitgtk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "webkitgtk"

Changes:
--------
--- /work/SRC/openSUSE:Factory/webkitgtk/webkitgtk.changes      2014-05-20 
14:24:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.webkitgtk.new/webkitgtk.changes 2014-06-01 
18:54:53.000000000 +0200
@@ -1,0 +2,9 @@
+Sun May 18 22:29:37 UTC 2014 - [email protected]
+
+- Add webkitgtk-commit-size.patch: call mprotect with appropriate
+  arguments on ppc64/s390x (bnc#866728 bgo#721569).
+- Add webkitgtk-js-endian-fixes.patch,
+  webkitgtk-protocall-endian-fix.patch: endian fixes (bnc#866728
+  bgo#721569).
+
+-------------------------------------------------------------------
webkitgtk3.changes: same change

New:
----
  webkitgtk-commit-size.patch
  webkitgtk-js-endian-fixes.patch
  webkitgtk-protocall-endian-fix.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ webkitgtk.spec ++++++
--- /var/tmp/diff_new_pack.5xqr22/_old  2014-06-01 18:54:55.000000000 +0200
+++ /var/tmp/diff_new_pack.5xqr22/_new  2014-06-01 18:54:55.000000000 +0200
@@ -65,6 +65,12 @@
 Patch5:         webkitgtk-ppc64le.patch
 # PATCH-FIX-UPSTREAM webkitgtk-x86-assembler-fix.patch webkit#126985 
[email protected] -- Fix build creating invalid assembler code on x86.
 Patch6:         webkitgtk-x86-assembler-fix.patch
+# PATCH-FIX-UPSTREAM webkitgtk-js-endian-fixes.patch bnc#866728 webkit#128743 
[email protected] -- fix endian issues in the Javascript cloop code
+Patch7:         webkitgtk-js-endian-fixes.patch
+# PATCH-FIX-UPSTREAM webkitgtk-commit-size.patch bnc#866728 [email protected] -- 
call mprotect with valid size on s390/ppc64.
+Patch8:         webkitgtk-commit-size.patch
+# PATCH-FIX-UPSTREAM webkitgtk-protocall-endian-fix.patch webkit#131449 
[email protected] -- fix a Javascript endian issue.
+Patch9:         webkitgtk-protocall-endian-fix.patch
 BuildRequires:  Mesa-devel
 BuildRequires:  bison
 BuildRequires:  chrpath
@@ -319,6 +325,11 @@
 %patch3 -p1
 %patch5 -p1
 %patch6 -p2
+%ifarch ppc ppc64 s390 s390x
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%endif
 # FIXME: workaround needed in > 1.7.90 to fix build
 mkdir -p DerivedSources/webkit
 mkdir -p DerivedSources/WebCore

++++++ webkitgtk3.spec ++++++
--- /var/tmp/diff_new_pack.5xqr22/_old  2014-06-01 18:54:55.000000000 +0200
+++ /var/tmp/diff_new_pack.5xqr22/_new  2014-06-01 18:54:55.000000000 +0200
@@ -65,6 +65,12 @@
 Patch5:         webkitgtk-ppc64le.patch
 # PATCH-FIX-UPSTREAM webkitgtk-x86-assembler-fix.patch webkit#126985 
[email protected] -- Fix build creating invalid assembler code on x86.
 Patch6:         webkitgtk-x86-assembler-fix.patch
+# PATCH-FIX-UPSTREAM webkitgtk-js-endian-fixes.patch bnc#866728 webkit#128743 
[email protected] -- fix endian issues in the Javascript cloop code
+Patch7:         webkitgtk-js-endian-fixes.patch
+# PATCH-FIX-UPSTREAM webkitgtk-commit-size.patch bnc#866728 [email protected] -- 
call mprotect with valid size on s390/ppc64.
+Patch8:         webkitgtk-commit-size.patch
+# PATCH-FIX-UPSTREAM webkitgtk-protocall-endian-fix.patch webkit#131449 
[email protected] -- fix a Javascript endian issue.
+Patch9:         webkitgtk-protocall-endian-fix.patch
 BuildRequires:  Mesa-devel
 BuildRequires:  bison
 BuildRequires:  chrpath
@@ -319,6 +325,11 @@
 %patch3 -p1
 %patch5 -p1
 %patch6 -p2
+%ifarch ppc ppc64 s390 s390x
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%endif
 # FIXME: workaround needed in > 1.7.90 to fix build
 mkdir -p DerivedSources/webkit
 mkdir -p DerivedSources/WebCore

++++++ webkitgtk-commit-size.patch ++++++
diff -ur webkitgtk-2.4.1.orig/Source/JavaScriptCore/interpreter/JSStack.cpp 
webkitgtk-2.4.1/Source/JavaScriptCore/interpreter/JSStack.cpp
--- webkitgtk-2.4.1.orig/Source/JavaScriptCore/interpreter/JSStack.cpp  
2014-04-14 01:40:44.000000000 -0500
+++ webkitgtk-2.4.1/Source/JavaScriptCore/interpreter/JSStack.cpp       
2014-05-17 13:39:29.326005975 -0500
@@ -49,7 +49,8 @@
 {
     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();
     
@@ -80,7 +81,8 @@
     // 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;
 
@@ -149,7 +151,8 @@
 
 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
++++++ webkitgtk-js-endian-fixes.patch ++++++
diff -ur webkitgtk-2.4.1.orig/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp 
webkitgtk-2.4.1/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
--- webkitgtk-2.4.1.orig/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp 
2014-04-14 01:40:44.000000000 -0500
+++ webkitgtk-2.4.1/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp      
2014-05-17 13:29:06.022182987 -0500
@@ -1354,7 +1354,7 @@
             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 @@
         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 -ur 
webkitgtk-2.4.1.orig/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm 
webkitgtk-2.4.1/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm
--- webkitgtk-2.4.1.orig/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm  
2014-04-14 01:40:44.000000000 -0500
+++ webkitgtk-2.4.1/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm       
2014-05-17 13:28:11.310181736 -0500
@@ -2047,7 +2047,7 @@
 end
 
 macro getProperty()
-    loadisFromInstruction(6, t1)
+    loadpFromInstruction(6, t1)
     loadPropertyAtVariableOffset(t1, t0, t2)
     valueProfile(t2, 7, t0)
     loadisFromInstruction(1, t0)
@@ -2121,7 +2121,7 @@
 macro putProperty()
     loadisFromInstruction(3, t1)
     loadConstantOrVariable(t1, t2)
-    loadisFromInstruction(6, t1)
+    loadpFromInstruction(6, t1)
     storePropertyAtVariableOffset(t1, t0, t2)
 end
 
++++++ webkitgtk-protocall-endian-fix.patch ++++++
diff -ur webkitgtk-2.4.1.orig/Source/JavaScriptCore/ChangeLog 
webkitgtk-2.4.1/Source/JavaScriptCore/ChangeLog
--- webkitgtk-2.4.1.orig/Source/JavaScriptCore/ChangeLog        2014-04-14 
05:47:50.000000000 -0500
+++ webkitgtk-2.4.1/Source/JavaScriptCore/ChangeLog     2014-05-17 
13:24:57.545177307 -0500
@@ -1,3 +1,39 @@
+2014-04-09  Mark Lam  <[email protected]>
+
+        Ensure that LLINT accessing of the ProtoCallFrame is big endian 
friendly.
+        <https://webkit.org/b/131449>
+
+        Reviewed by Mark Hahnenberg.
+
+        Change ProtoCallFrame::paddedArgCount to be of type uint32_t.  The 
argCount
+        that it pads is of type int anyway.  It doesn't need to be 64 bit.  
This
+        also makes it work with the LLINT which is loading it with a loadi
+        instruction.
+
+        We should add the PayLoadOffset to 
ProtoCallFrame::argCountAndCodeOriginValue
+        when loading the argCount.
+
+        The paddedArgCount issue was causing failures when running the JSC 
tests on a
+        64-bit big endian machine.  In this case, the paddedArgCount in the
+        ProtoCallFrame has the value 2.  However, because the paddedArgCount 
was stored
+        as a 64-bit size_t and the LLINT was loading only the low address 
32-bits of
+        that field, the LLINT got a value of 0 instead of the expected 2.  
With this
+        patch, we now have a matching store and load of a 32-bit value, and 
endianness
+        no longer comes into play.
+
+        As for ProtoCallFrame::argCountAndCodeOriginValue, the argCount is 
stored in
+        the payload field of the Register.  In the definition of 
EncodedValueDescriptor,
+        We already ensure that that the payload is in the least significant 
32-bits for
+        little endian machines, and in the most significant 32-bits for big 
endian
+        machines.  This means that there is no endianness bug when loading 
this value
+        using loadi.  However, adding the PayLoadOffset clarifies the intent 
of the
+        code to load the payload part of the Register value.
+
+        * interpreter/ProtoCallFrame.h:
+        (JSC::ProtoCallFrame::setPaddedArgCount):
+        * llint/LowLevelInterpreter32_64.asm:
+        * llint/LowLevelInterpreter64.asm:
+
 2014-03-12  Mark Lam  <[email protected]>
 
         Update type of local vars to match the type of String length.
diff -ur 
webkitgtk-2.4.1.orig/Source/JavaScriptCore/interpreter/ProtoCallFrame.h 
webkitgtk-2.4.1/Source/JavaScriptCore/interpreter/ProtoCallFrame.h
--- webkitgtk-2.4.1.orig/Source/JavaScriptCore/interpreter/ProtoCallFrame.h     
2014-04-14 01:40:44.000000000 -0500
+++ webkitgtk-2.4.1/Source/JavaScriptCore/interpreter/ProtoCallFrame.h  
2014-05-17 13:23:09.545174838 -0500
@@ -36,7 +36,7 @@
     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 @@
     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 -ur 
webkitgtk-2.4.1.orig/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm 
webkitgtk-2.4.1/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
--- 
webkitgtk-2.4.1.orig/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm   
    2014-04-14 01:40:44.000000000 -0500
+++ webkitgtk-2.4.1/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm    
2014-05-17 13:23:09.547174838 -0500
@@ -282,7 +282,7 @@
     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
diff -ur 
webkitgtk-2.4.1.orig/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm 
webkitgtk-2.4.1/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm
--- webkitgtk-2.4.1.orig/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm  
2014-04-14 01:40:44.000000000 -0500
+++ webkitgtk-2.4.1/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm       
2014-05-17 13:23:09.549174838 -0500
@@ -171,7 +171,7 @@
     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
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to