Hello community,

here is the log from the commit of package libQtWebKit4 for openSUSE:Factory 
checked in at 2014-01-29 07:15:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libQtWebKit4 (Old)
 and      /work/SRC/openSUSE:Factory/.libQtWebKit4.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libQtWebKit4"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libQtWebKit4/libQtWebKit4.changes        
2013-12-23 12:33:09.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libQtWebKit4.new/libQtWebKit4.changes   
2014-01-29 07:15:49.000000000 +0100
@@ -1,0 +2,6 @@
+Sun Jan 26 20:24:38 UTC 2014 - [email protected]
+
+- lowlevelinterpreter-bigendian.patch: fix LLInt for big endian (webkit#103128)
+- Remove extra / from RPM_OPT_FLAGS
+
+-------------------------------------------------------------------

New:
----
  lowlevelinterpreter-bigendian.patch

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

Other differences:
------------------
++++++ libQtWebKit4.spec ++++++
--- /var/tmp/diff_new_pack.CybWP8/_old  2014-01-29 07:15:51.000000000 +0100
+++ /var/tmp/diff_new_pack.CybWP8/_new  2014-01-29 07:15:51.000000000 +0100
@@ -54,6 +54,8 @@
 Patch13:        bison3.patch
 # PATCH-FIX-UPSTREAM ppc64le-support.diff [email protected] -- add support 
for ppc64le
 Patch14:        ppc64le-support.patch
+# PATCH-FIX-UPSTREAM lowlevelinterpreter-bigendian.patch -- Fix LLInt for big 
endian, webkit#103128
+Patch15:        lowlevelinterpreter-bigendian.patch
 BuildRequires:  bison
 BuildRequires:  fdupes
 BuildRequires:  flex
@@ -131,12 +133,13 @@
 %patch12 -p1
 %patch13 -p1
 %patch14 -p1
+%patch15 -p1
 
 %build
 # runs out of memory or creates static archives > 2/4GB boundary otherwise
 %ifarch %arm aarch64
 RPM_OPT_FLAGS="$RPM_OPT_FLAGS "
-export RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-g / /}
+export RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-g / }
 %endif
 
 %ifnarch x86_64

++++++ lowlevelinterpreter-bigendian.patch ++++++
Index: webkit-qtwebkit-23/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
===================================================================
--- webkit-qtwebkit-23.orig/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
+++ webkit-qtwebkit-23/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
@@ -86,6 +86,11 @@ else
     const TagOffset = 4
     const PayloadOffset = 0
 end
+if JSVALUE64
+    const CellOffset = 0
+else
+    const CellOffset = PayloadOffset
+end
 
 # Constant for reasoning about butterflies.
 const IsArray                  = 1
@@ -263,13 +268,13 @@ macro assertNotConstant(index)
 end
 
 macro functionForCallCodeBlockGetter(targetRegister)
-    loadp Callee[cfr], targetRegister
+    loadp Callee + CellOffset[cfr], targetRegister
     loadp JSFunction::m_executable[targetRegister], targetRegister
     loadp FunctionExecutable::m_codeBlockForCall[targetRegister], 
targetRegister
 end
 
 macro functionForConstructCodeBlockGetter(targetRegister)
-    loadp Callee[cfr], targetRegister
+    loadp Callee + CellOffset[cfr], targetRegister
     loadp JSFunction::m_executable[targetRegister], targetRegister
     loadp FunctionExecutable::m_codeBlockForConstruct[targetRegister], 
targetRegister
 end
@@ -555,7 +560,11 @@ end
 
 macro putToBaseVariableBody(variableOffset, scratch1, scratch2, scratch3)
     loadisFromInstruction(1, scratch1)
-    loadp PayloadOffset[cfr, scratch1, 8], scratch1
+    if JSVALUE64
+        loadp [cfr, scratch1, 8], scratch1
+    else
+        loadp PayloadOffset[cfr, scratch1, 8], scratch1
+    end
     loadp JSVariableObject::m_registers[scratch1], scratch1
     loadisFromInstruction(3, scratch2)
     if JSVALUE64
@@ -684,7 +693,7 @@ _llint_op_resolve_global_var:
 macro resolveScopedVarBody(resolveOperations)
     # First ResolveOperation is to skip scope chain nodes
     getScope(macro(dest)
-                 loadp ScopeChain + PayloadOffset[cfr], dest
+                 loadp ScopeChain + CellOffset[cfr], dest
              end,
              ResolveOperation::m_scopesToSkip[resolveOperations], t1, t2)
     loadp JSVariableObject::m_registers[t1], t1 # t1 now contains the 
activation registers
@@ -709,7 +718,7 @@ _llint_op_resolve_scoped_var_on_top_scop
     loadisFromInstruction(1, t3)
 
     # We know we want the top scope chain entry
-    loadp ScopeChain + PayloadOffset[cfr], t1
+    loadp ScopeChain + CellOffset[cfr], t1
     loadp JSVariableObject::m_registers[t1], t1 # t1 now contains the 
activation registers
     
     # Second ResolveOperation tells us what offset to use
@@ -724,14 +733,18 @@ _llint_op_resolve_scoped_var_with_top_sc
     # First ResolveOperation tells us what register to check
     loadis ResolveOperation::m_activationRegister[t0], t1
 
-    loadp PayloadOffset[cfr, t1, 8], t1
+    if JSVALUE64
+        loadp [cfr, t1, 8], t1
+    else
+        loadp PayloadOffset[cfr, t1, 8], t1
+    end
 
     getScope(macro(dest)
                  btpz t1, .scopeChainNotCreated
                      loadp JSScope::m_next[t1], dest
                  jmp .done
                  .scopeChainNotCreated:
-                     loadp ScopeChain + PayloadOffset[cfr], dest
+                     loadp ScopeChain + CellOffset[cfr], dest
                  .done:
              end, 
              # Second ResolveOperation tells us how many more nodes to skip
@@ -786,7 +799,7 @@ _llint_op_resolve_base_to_scope:
     getResolveOperation(4, t0, t1)
     # First ResolveOperation is to skip scope chain nodes
     getScope(macro(dest)
-                 loadp ScopeChain + PayloadOffset[cfr], dest
+                 loadp ScopeChain + CellOffset[cfr], dest
              end,
              ResolveOperation::m_scopesToSkip[t0], t1, t2)
     loadisFromInstruction(1, t3)
@@ -804,14 +817,18 @@ _llint_op_resolve_base_to_scope_with_top
     # First ResolveOperation tells us what register to check
     loadis ResolveOperation::m_activationRegister[t0], t1
 
-    loadp PayloadOffset[cfr, t1, 8], t1
+    if JSVALUE64
+        loadp [cfr, t1, 8], t1
+    else
+        loadp PayloadOffset[cfr, t1, 8], t1
+    end
 
     getScope(macro(dest)
                  btpz t1, .scopeChainNotCreated
                      loadp JSScope::m_next[t1], dest
                  jmp .done
                  .scopeChainNotCreated:
-                     loadp ScopeChain + PayloadOffset[cfr], dest
+                     loadp ScopeChain + CellOffset[cfr], dest
                  .done:
              end, 
              # Second ResolveOperation tells us how many more nodes to skip
@@ -841,7 +858,7 @@ macro interpretResolveWithBase(opcodeLen
     getResolveOperation(4, t0, t1)
     btpz t0, .slowPath
 
-    loadp ScopeChain[cfr], t3
+    loadp ScopeChain + CellOffset[cfr], t3
     # Get the base
     loadis ResolveOperation::m_operation[t0], t2
 
@@ -856,14 +873,18 @@ macro interpretResolveWithBase(opcodeLen
 
     bineq t2, ResolveOperationSkipTopScopeNode, .notSkipTopScopeNode
         loadis ResolveOperation::m_activationRegister[t0], t1
-        loadp PayloadOffset[cfr, t1, 8], t1
+        if JSVALUE64
+            loadp [cfr, t1, 8], t1
+        else
+            loadp PayloadOffset[cfr, t1, 8], t1
+        end
 
         getScope(macro(dest)
                      btpz t1, .scopeChainNotCreated
                          loadp JSScope::m_next[t1], dest
                      jmp .done
                      .scopeChainNotCreated:
-                         loadp ScopeChain + PayloadOffset[cfr], dest
+                         loadp ScopeChain + CellOffset[cfr], dest
                      .done:
                  end,
                  sizeof ResolveOperation + 
ResolveOperation::m_scopesToSkip[t0], t1, t2)
Index: 
webkit-qtwebkit-23/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
===================================================================
--- 
webkit-qtwebkit-23.orig/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
+++ webkit-qtwebkit-23/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
@@ -1287,7 +1287,7 @@ _llint_op_get_by_pname:
     loadp JSCell::m_structure[t2], t0
     bpneq t0, JSPropertyNameIterator::m_cachedStructure[t3], .opGetByPnameSlow
     loadi 24[PC], t0
-    loadi [cfr, t0, 8], t0
+    loadi PayloadOffset[cfr, t0, 8], t0
     subi 1, t0
     biaeq t0, JSPropertyNameIterator::m_numCacheableSlots[t3], 
.opGetByPnameSlow
     bilt t0, JSPropertyNameIterator::m_cachedStructureInlineCapacity[t3], 
.opGetByPnameInlineProperty
@@ -1718,7 +1718,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
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to