[SCM] qtbase packaging branch, master, updated. debian/5.7.1+dfsg-1-2-ga2ac6e9

Dmitry Shachnev mitya57 at moszumanska.debian.org
Fri Dec 23 16:03:49 UTC 2016


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

The following commit has been merged in the master branch:
commit a2ac6e9baf3a5a51194db59331540497842fbccb
Author: Dmitry Shachnev <mitya57 at gmail.com>
Date:   Fri Dec 23 19:03:24 2016 +0300

    Backport upstream patch to fix build with gcc 6.3 and newer versions.
    
    Closes: #846996.
---
 debian/changelog            |  3 +++
 debian/patches/gcc_6.3.diff | 31 +++++++++++++++++++++++++++++++
 debian/patches/series       |  1 +
 3 files changed, 35 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 175424d..f903de2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,8 @@
 qtbase-opensource-src (5.7.1+dfsg-2) UNRELEASED; urgency=medium
 
+  [ Dmitry Shachnev ]
+  * Backport upstream patch to fix build with gcc 6.3 and newer versions
+    (gcc_6.3.diff; closes: #846996).
 
  -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Fri, 23 Dec 2016 18:55:52 +0300
 
diff --git a/debian/patches/gcc_6.3.diff b/debian/patches/gcc_6.3.diff
new file mode 100644
index 0000000..9c3b6bc
--- /dev/null
+++ b/debian/patches/gcc_6.3.diff
@@ -0,0 +1,31 @@
+Description: fix build with gcc 6.3 and newer versions
+ The builtins clzs and ctzs have been removed. Additionally they were
+ never proper internal GCC builtins and shouldn't have been used in a
+ constexpr function in the first place. This patch removes the assumption
+ that they exist when BMI is available, and let GCC fall back to using
+ __builtin_clz and __builtin_ctz.
+Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=bb0f29f82b934b48
+ Manually rebased against the 5.7.1 release by Dmitry Shachnev.
+Bug: https://bugs.debian.org/846996
+Last-Update: 2016-12-23
+
+--- a/src/corelib/tools/qalgorithms.h
++++ b/src/corelib/tools/qalgorithms.h
+@@ -626,7 +626,7 @@
+ Q_DECL_RELAXED_CONSTEXPR inline uint qCountTrailingZeroBits(quint16 v) Q_DECL_NOTHROW
+ {
+ #if defined(Q_CC_GNU)
+-#  if QT_HAS_BUILTIN(__builtin_ctzs) || (defined(__LZCNT__) && defined(__BMI__))
++#  if QT_HAS_BUILTIN(__builtin_ctzs)
+     return v ? __builtin_ctzs(v) : 16U;
+ #  else
+     return v ? __builtin_ctz(v) : 16U;
+@@ -689,7 +689,7 @@
+ Q_DECL_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint16 v) Q_DECL_NOTHROW
+ {
+ #if defined(Q_CC_GNU)
+-#  if QT_HAS_BUILTIN(__builtin_clzs) || (defined(__LZCNT__) && defined(__BMI__))
++#  if QT_HAS_BUILTIN(__builtin_clzs)
+     return v ? __builtin_clzs(v) : 16U;
+ #  else
+     return v ? __builtin_clz(v)-16U : 16U;
diff --git a/debian/patches/series b/debian/patches/series
index 22dc365..792e9c6 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,6 +2,7 @@
 qsettings_simplify_logic.diff
 qsettings_XDG_CONFIG_DIRS.diff
 fix_build_on_x32.diff
+gcc_6.3.diff
 
 # Debian specific.
 no_dbus_dependency.diff

-- 
qtbase packaging



More information about the pkg-kde-commits mailing list