[SCM] qtdeclarative packaging branch, master, updated. debian/5.6.1-4-3-g1b9c6a1

Maximiliano Curia maxy at moszumanska.debian.org
Tue Jul 19 10:24:18 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qtdeclarative.git;a=commitdiff;h=1b9c6a1

The following commit has been merged in the master branch:
commit 1b9c6a1f6925ac43efa03747ac0a0486e6b68c4b
Author: Maximiliano Curia <maxy at debian.org>
Date:   Tue Jul 19 12:24:12 2016 +0200

    Add new patch: fix_engine_64bits_big_endian.diff
---
 debian/changelog                                 |  3 +++
 debian/patches/fix_engine_64bits_big_endian.diff | 26 ++++++++++++++++++++++++
 debian/patches/series                            |  1 +
 3 files changed, 30 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 00fe197..ec2446e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,9 @@ qtdeclarative-opensource-src (5.6.1-5) UNRELEASED; urgency=medium
   [ Lisandro Damián Nicanor Pérez Meyer ]
   * Update symbols files with buildds' logs (Closes: #830817).
 
+  [ Maximiliano Curia ]
+  * Add new patch: fix_engine_64bits_big_endian.diff
+
  -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Wed, 13 Jul 2016 19:28:45 -0300
 
 qtdeclarative-opensource-src (5.6.1-4) unstable; urgency=medium
diff --git a/debian/patches/fix_engine_64bits_big_endian.diff b/debian/patches/fix_engine_64bits_big_endian.diff
new file mode 100644
index 0000000..e5342b3
--- /dev/null
+++ b/debian/patches/fix_engine_64bits_big_endian.diff
@@ -0,0 +1,26 @@
+From: Maximilaino Curia <maxy at debian.org>
+Date: Tue, 19 Jul 2016 12:20:00 +0200
+Subject: Fix engine in big endian 64 arches (s390x)
+
+This fixes https://bugreports.qt.io/browse/QTBUG-54717
+
+--- a/src/qml/jsruntime/qv4value_p.h
++++ b/src/qml/jsruntime/qv4value_p.h
+@@ -92,10 +92,16 @@
+ 
+     Q_ALWAYS_INLINE quint64 val() const { return _val; }
+     Q_ALWAYS_INLINE void setVal(quint64 v) { _val = v; }
++
++#if defined(QV4_USE_64_BIT_VALUE_ENCODING) && Q_BYTE_ORDER == Q_BIG_ENDIAN
++    Q_ALWAYS_INLINE void setValue(quint32 t) { memcpy(4 + (quint8 *)&_val, &t, 4); }
++    Q_ALWAYS_INLINE void setTag(quint32 v) { memcpy(&_val, &v, 4); }
++#else
+     Q_ALWAYS_INLINE void setValue(quint32 v) { memcpy(&_val, &v, 4); }
+     Q_ALWAYS_INLINE void setTag(quint32 t) { memcpy(4 + (quint8 *)&_val, &t, 4); }
++#endif
+ 
+-#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
++#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN || defined(QV4_USE_64_BIT_VALUE_ENCODING)
+     static inline int valueOffset() { return 0; }
+     static inline int tagOffset() { return 4; }
+     Q_ALWAYS_INLINE void setTagValue(quint32 tag, quint32 value) { _val = quint64(tag) << 32 | value; }
diff --git a/debian/patches/series b/debian/patches/series
index 5e68a6d..cf2f326 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@ qml_only_release_types_if_they_arent_referenced_anymore.patch
 
 # Debian patches
 check_system_double-conversion.patch
+fix_engine_64bits_big_endian.diff

-- 
qtdeclarative packaging



More information about the pkg-kde-commits mailing list