[SCM] qtdeclarative packaging branch, master, updated. debian/5.3.0-4-2-gc1393d8
Lisandro Damián Nicanor Pérez
lisandro at moszumanska.debian.org
Fri Jun 6 02:50:10 UTC 2014
Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qtdeclarative.git;a=commitdiff;h=c1393d8
The following commit has been merged in the master branch:
commit c1393d85209eb9cbced0276b9e02117eb754745a
Author: Lisandro Damián Nicanor Pérez Meyer <perezmeyer at gmail.com>
Date: Thu Jun 5 23:49:55 2014 -0300
Backport v4_yarr_jit_push_pop_addressTempRegister.patch
---
debian/changelog | 4 +++
debian/patches/series | 1 +
.../v4_yarr_jit_push_pop_addressTempRegister.patch | 39 ++++++++++++++++++++++
3 files changed, 44 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index fca64ce..29eaae5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,9 @@
qtdeclarative-opensource-src (5.3.0-5) UNRELEASED; urgency=medium
+ [ Lisandro Damián Nicanor Pérez Meyer ]
+ * Backport v4_yarr_jit_push_pop_addressTempRegister.patch to fix a bug
+ of the JIT compiler in arm. Thanks Scott Kitterman for pointing it out.
+
-- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org> Thu, 05 Jun 2014 23:41:23 -0300
qtdeclarative-opensource-src (5.3.0-4) experimental; urgency=medium
diff --git a/debian/patches/series b/debian/patches/series
index ea9378a..991578e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
freebsd_registers.diff
+v4_yarr_jit_push_pop_addressTempRegister.patch
diff --git a/debian/patches/v4_yarr_jit_push_pop_addressTempRegister.patch b/debian/patches/v4_yarr_jit_push_pop_addressTempRegister.patch
new file mode 100644
index 0000000..c386f72
--- /dev/null
+++ b/debian/patches/v4_yarr_jit_push_pop_addressTempRegister.patch
@@ -0,0 +1,39 @@
+From d7193d7f566afcd9e1d5b58adfc09810d94c013b Mon Sep 17 00:00:00 2001
+From: Erik Verbruggen <erik.verbruggen at digia.com>
+Date: Thu, 5 Jun 2014 14:13:39 +0200
+Subject: [PATCH] V4 Yarr JIT: push/pop addressTempRegister.
+
+Change 6572d4e50d73ac60a8974d07de74c27a7f99ebef moved the
+addressTempRegister from r3 to r10, so that calculated calls would not
+overwrite the fourth argument of a call. However, JSC's Yarr JIT might
+also use it for certain loads, so it also needs to save r10.
+
+Task-number: QTBUG-39289
+Change-Id: I0a4e725b6b11ab5e772330662049668bed009c05
+---
+ src/3rdparty/masm/yarr/YarrJIT.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/3rdparty/masm/yarr/YarrJIT.cpp b/src/3rdparty/masm/yarr/YarrJIT.cpp
+index 783a869..94a72a5 100644
+--- a/src/3rdparty/masm/yarr/YarrJIT.cpp
++++ b/src/3rdparty/masm/yarr/YarrJIT.cpp
+@@ -2561,6 +2561,7 @@ class YarrGenerator : private MacroAssembler {
+ #if CPU(ARM_TRADITIONAL)
+ push(ARMRegisters::r8); // scratch register
+ #endif
++ push(addressTempRegister);
+ if (compileMode == IncludeSubpatterns)
+ move(ARMRegisters::r3, output);
+ #elif CPU(SH4)
+@@ -2588,6 +2589,7 @@ class YarrGenerator : private MacroAssembler {
+ pop(X86Registers::ebx);
+ pop(X86Registers::ebp);
+ #elif CPU(ARM)
++ pop(addressTempRegister);
+ #if CPU(ARM_TRADITIONAL)
+ pop(ARMRegisters::r8); // scratch register
+ #endif
+--
+2.0.0
+
--
qtdeclarative packaging
More information about the pkg-kde-commits
mailing list