[SCM] qtbase packaging branch, master, updated. debian/5.2.0+dfsg-6-3-gdd85a4c

Lisandro Damián Nicanor Pérez lisandro at moszumanska.debian.org
Fri Jan 31 15:35:27 UTC 2014


Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qtbase.git;a=commitdiff;h=4a0e628

The following commit has been merged in the master branch:
commit 4a0e6289d4de8eec9cbbf92ac422e2835b4eeafa
Author: Lisandro Damián Nicanor Pérez Meyer <perezmeyer at gmail.com>
Date:   Mon Nov 11 11:21:38 2013 -0300

    Fix MIPS' FTBFS.
---
 debian/changelog                                   |  2 +
 debian/patches/series                              |  1 +
 .../support_mips_atomic_on_pre-mips32_archs.patch  | 54 ++++++++++++++++++++++
 3 files changed, 57 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 84f01f3..f6c662c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,6 +7,8 @@ qtbase-opensource-src (5.2.0~beta1+dfsg-2) UNRELEASED; urgency=low
   * Update symbols files.
   * Import upstream's fix_power_atomic_code.patch for fixing PowerPC's FTBFS
     (Closes: #729265). Thanks Aurelien Jarno for the patch.
+  * Import upstream's support_mips_atomic_on_pre-mips32_archs.patch for fixing
+    MIPS's FTBFS (Closes: #729187). Thanks Aurelien Jarno for the patch.
 
  -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Fri, 01 Nov 2013 13:48:48 -0300
 
diff --git a/debian/patches/series b/debian/patches/series
index 074df23..a09c2da 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,5 +2,6 @@ sha3_64bit_BE.diff
 linux_no_perf.diff
 hurd_opengl_incldir.diff
 fix_power_atomic_code.patch
+support_mips_atomic_on_pre-mips32_archs.patch
 
 # Debian specific.
diff --git a/debian/patches/support_mips_atomic_on_pre-mips32_archs.patch b/debian/patches/support_mips_atomic_on_pre-mips32_archs.patch
new file mode 100644
index 0000000..d42760e
--- /dev/null
+++ b/debian/patches/support_mips_atomic_on_pre-mips32_archs.patch
@@ -0,0 +1,54 @@
+From cb4da6380c6af2bce871ae466f1ba445339adc3a Mon Sep 17 00:00:00 2001
+From: Aurelien Jarno <aurelien at aurel32.net>
+Date: Sun, 10 Nov 2013 23:20:46 +0100
+Subject: [PATCH] Support MIPS atomic on pre-MIPS32 architectures
+
+The atomic functions on MIPS are based on the sync opcode with an
+immediate argument, which is something introduced in the MIPS32
+instruction set. This prevent to use Qt on pre-MIPS32 CPU, like the
+Loongson 2 CPU.
+
+However some of the pre-MIPS32 CPUs interprets the sync opcode with and
+immediate argument as a sync opcode without argument (which is a stronger
+ordering than with the argument), and for the others the kernel emulates
+it.
+
+It is therefore fine to use the current MIPS atomic functions on
+pre-MIPS32 CPU. This patch allows that by temporarily changing the
+instruction set to MIPS32 around the sync instruction, so that binutils
+doesn't choke on it.
+
+Change-Id: I9cc984bd55b5f172736ce9e638a6f4e271b79fe7
+---
+ src/corelib/arch/qatomic_mips.h | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/src/corelib/arch/qatomic_mips.h b/src/corelib/arch/qatomic_mips.h
+index 6eb9613..dab72a2 100644
+--- a/src/corelib/arch/qatomic_mips.h
++++ b/src/corelib/arch/qatomic_mips.h
+@@ -119,13 +119,19 @@ template <typename T> struct QAtomicOps : QBasicAtomicOps<sizeof(T)>
+ template <int size> template <typename T> inline
+ void QBasicAtomicOps<size>::acquireMemoryFence(const T &) Q_DECL_NOTHROW
+ {
+-    asm volatile ("sync 0x11" ::: "memory");
++    asm volatile (".set push
"
++                  ".set mips32
"
++                  "sync 0x11
"
++                  ".set pop
" ::: "memory");
+ }
+ 
+ template <int size> template <typename T> inline
+ void QBasicAtomicOps<size>::releaseMemoryFence(const T &) Q_DECL_NOTHROW
+ {
+-    asm volatile ("sync 0x12" ::: "memory");
++    asm volatile (".set push
"
++                  ".set mips32
"
++                  "sync 0x11
"
++                  ".set pop
" ::: "memory");
+ }
+ 
+ template <int size> template <typename T> inline
+-- 
+1.8.4.2
+

-- 
qtbase packaging



More information about the pkg-kde-commits mailing list