From cc59245245c2e1ff151a1d557646529b06a64dd7b910ea047d59f4533f1c1590 Mon Sep 17 00:00:00 2001 From: Christophe Giboudeaux Date: Fri, 28 May 2021 12:28:44 +0000 Subject: [PATCH] Accepting request 895953 from home:Vogtinator:qt5.15 - Add patch to fix possible crash caused by GCC 11 build fix: * 0001-Partially-revert-813a928c7c3cf98670b6043149880ed5c95.patch - Add patches to fix build with GCC 11 (boo#1181861, QTBUG-90395): * 0001-Fix-build-with-GCC-11-include-limits.patch * 0002-Build-fixes-for-GCC-11.patch OBS-URL: https://build.opensuse.org/request/show/895953 OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:5.15/libqt5-qtdoc?expand=0&rev=14 --- ...Fix-build-with-GCC-11-include-limits.patch | 53 +++++++++++++++++ ...-813a928c7c3cf98670b6043149880ed5c95.patch | 32 ++++++++++ 0002-Build-fixes-for-GCC-11.patch | 59 +++++++++++++++++++ libqt5-qtdoc.changes | 9 +++ libqt5-qtdoc.spec | 16 +++-- 5 files changed, 163 insertions(+), 6 deletions(-) create mode 100644 0001-Fix-build-with-GCC-11-include-limits.patch create mode 100644 0001-Partially-revert-813a928c7c3cf98670b6043149880ed5c95.patch create mode 100644 0002-Build-fixes-for-GCC-11.patch diff --git a/0001-Fix-build-with-GCC-11-include-limits.patch b/0001-Fix-build-with-GCC-11-include-limits.patch new file mode 100644 index 0000000..c834309 --- /dev/null +++ b/0001-Fix-build-with-GCC-11-include-limits.patch @@ -0,0 +1,53 @@ +From 924424120a2c468511256072e05d1ecc7c0c74a7 Mon Sep 17 00:00:00 2001 +From: Thiago Macieira +Date: Mon, 18 Jan 2021 07:40:54 -0800 +Subject: [PATCH 1/2] Fix build with GCC 11: include + +Fixes: QTBUG-90395 +Change-Id: Iecc74d2000eb40dfbe7bfffd165b5dd3708b7a40 +(cherry picked from commit 9c56d4da2ff631a8c1c30475bd792f6c86bda53c) +Reviewed-by: Edward Welbourne +(cherry picked from commit b2af6332ea37e45ab230a7a5d2d278f86d961b83) +--- + src/corelib/global/qendian.h | 6 ++++-- + src/corelib/global/qfloat16.h | 1 + + 2 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/qtbase/src/corelib/global/qendian.h b/qtbase/src/corelib/global/qendian.h +index 257efbbdbe..339f53abb6 100644 +--- a/qtbase/src/corelib/global/qendian.h ++++ b/qtbase/src/corelib/global/qendian.h +@@ -1,7 +1,7 @@ + /**************************************************************************** + ** +-** Copyright (C) 2016 The Qt Company Ltd. +-** Copyright (C) 2016 Intel Corporation. ++** Copyright (C) 2021 The Qt Company Ltd. ++** Copyright (C) 2021 Intel Corporation. + ** Contact: https://www.qt.io/licensing/ + ** + ** This file is part of the QtCore module of the Qt Toolkit. +@@ -44,6 +44,8 @@ + #include + #include + ++#include ++ + // include stdlib.h and hope that it defines __GLIBC__ for glibc-based systems + #include + #include +diff --git a/qtbase/src/corelib/global/qfloat16.h b/qtbase/src/corelib/global/qfloat16.h +index c7a9c87af3..5302be072e 100644 +--- a/qtbase/src/corelib/global/qfloat16.h ++++ b/qtbase/src/corelib/global/qfloat16.h +@@ -43,6 +43,7 @@ + + #include + #include ++#include + #include + + #if defined(QT_COMPILER_SUPPORTS_F16C) && defined(__AVX2__) && !defined(__F16C__) +-- +2.25.1 + diff --git a/0001-Partially-revert-813a928c7c3cf98670b6043149880ed5c95.patch b/0001-Partially-revert-813a928c7c3cf98670b6043149880ed5c95.patch new file mode 100644 index 0000000..4a069b3 --- /dev/null +++ b/0001-Partially-revert-813a928c7c3cf98670b6043149880ed5c95.patch @@ -0,0 +1,32 @@ +From 45b201ea42f69510713ddd09fb092ed6f93ad1db Mon Sep 17 00:00:00 2001 +From: Ulf Hermann +Date: Wed, 20 Jan 2021 10:42:36 +0100 +Subject: [PATCH] Partially revert 813a928c7c3cf98670b6043149880ed5c955efb9 + +Otherwise ASAN complains about mismatched new/delete. + +Change-Id: I76ddcc388309e20055c93c68b9b6fa8a11b884e1 +Reviewed-by: Andrei Golubev +Reviewed-by: Ville Voutilainen +(cherry picked from commit 606b03d0a35e71565c3a91588ef2db45b9262e27) +--- + src/corelib/tools/qsharedpointer_impl.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/qtbase/src/corelib/tools/qsharedpointer_impl.h b/qtbase/src/corelib/tools/qsharedpointer_impl.h +index 4aee98af53..790c187cb9 100644 +--- a/qtbase/src/corelib/tools/qsharedpointer_impl.h ++++ b/qtbase/src/corelib/tools/qsharedpointer_impl.h +@@ -155,6 +155,9 @@ namespace QtSharedPointer { + #endif + inline void checkQObjectShared(...) { } + inline void setQObjectShared(...) { } ++ ++ inline void operator delete(void *ptr) { ::operator delete(ptr); } ++ inline void operator delete(void *, void *) { } + }; + // sizeof(ExternalRefCountData) = 12 (32-bit) / 16 (64-bit) + +-- +2.25.1 + diff --git a/0002-Build-fixes-for-GCC-11.patch b/0002-Build-fixes-for-GCC-11.patch new file mode 100644 index 0000000..9dc1ac5 --- /dev/null +++ b/0002-Build-fixes-for-GCC-11.patch @@ -0,0 +1,59 @@ +From 896bcb186161c38965bd002b28156a2aab4b4a76 Mon Sep 17 00:00:00 2001 +From: Ville Voutilainen +Date: Mon, 18 Jan 2021 09:58:17 +0200 +Subject: [PATCH 2/2] Build fixes for GCC 11 + +Task-number: QTBUG-89977 +Change-Id: Ic1b7ddbffb8a0a00f8c621d09a868f1d94a52c21 +Reviewed-by: Lars Knoll +Reviewed-by: Thiago Macieira +(cherry picked from commit 813a928c7c3cf98670b6043149880ed5c955efb9) +--- + src/corelib/text/qbytearraymatcher.h | 2 ++ + src/corelib/tools/qsharedpointer_impl.h | 3 --- + src/plugins/platforms/xcb/qxcbwindow.cpp | 2 +- + 3 files changed, 3 insertions(+), 4 deletions(-) + +diff --git a/qtbase/src/corelib/text/qbytearraymatcher.h b/qtbase/src/corelib/text/qbytearraymatcher.h +index 0eedfc1d20..f5f9bef7b8 100644 +--- a/qtbase/src/corelib/text/qbytearraymatcher.h ++++ b/qtbase/src/corelib/text/qbytearraymatcher.h +@@ -42,6 +42,8 @@ + + #include + ++#include ++ + QT_BEGIN_NAMESPACE + + +diff --git a/qtbase/src/corelib/tools/qsharedpointer_impl.h b/qtbase/src/corelib/tools/qsharedpointer_impl.h +index 790c187cb9..4aee98af53 100644 +--- a/qtbase/src/corelib/tools/qsharedpointer_impl.h ++++ b/qtbase/src/corelib/tools/qsharedpointer_impl.h +@@ -155,9 +155,6 @@ namespace QtSharedPointer { + #endif + inline void checkQObjectShared(...) { } + inline void setQObjectShared(...) { } +- +- inline void operator delete(void *ptr) { ::operator delete(ptr); } +- inline void operator delete(void *, void *) { } + }; + // sizeof(ExternalRefCountData) = 12 (32-bit) / 16 (64-bit) + +diff --git a/qtbase/src/plugins/platforms/xcb/qxcbwindow.cpp b/qtbase/src/plugins/platforms/xcb/qxcbwindow.cpp +index 9e7e1a5572..f0866a90ac 100644 +--- a/qtbase/src/plugins/platforms/xcb/qxcbwindow.cpp ++++ b/qtbase/src/plugins/platforms/xcb/qxcbwindow.cpp +@@ -698,7 +698,7 @@ void QXcbWindow::show() + if (isTransient(window())) { + const QWindow *tp = window()->transientParent(); + if (tp && tp->handle()) +- transientXcbParent = static_cast(tp->handle())->winId(); ++ transientXcbParent = tp->handle()->winId(); + // Default to client leader if there is no transient parent, else modal dialogs can + // be hidden by their parents. + if (!transientXcbParent) +-- +2.25.1 + diff --git a/libqt5-qtdoc.changes b/libqt5-qtdoc.changes index 1450700..859ea23 100644 --- a/libqt5-qtdoc.changes +++ b/libqt5-qtdoc.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri May 28 08:17:31 UTC 2021 - Fabian Vogt + +- Add patch to fix possible crash caused by GCC 11 build fix: + * 0001-Partially-revert-813a928c7c3cf98670b6043149880ed5c95.patch +- Add patches to fix build with GCC 11 (boo#1181861, QTBUG-90395): + * 0001-Fix-build-with-GCC-11-include-limits.patch + * 0002-Build-fixes-for-GCC-11.patch + ------------------------------------------------------------------- Fri Nov 20 12:09:16 UTC 2020 - Fabian Vogt diff --git a/libqt5-qtdoc.spec b/libqt5-qtdoc.spec index 3b31300..01558ff 100644 --- a/libqt5-qtdoc.spec +++ b/libqt5-qtdoc.spec @@ -27,6 +27,10 @@ License: LGPL-2.1-with-Qt-Company-Qt-exception-1.1 or LGPL-3.0-only Group: Documentation/Other URL: https://www.qt.io Source: https://download.qt.io/official_releases/qt/5.15/%{real_version}/single/%{tar_version}.tar.xz +# PATCH-FIX-UPSTREAM +Patch1: 0001-Fix-build-with-GCC-11-include-limits.patch +Patch2: 0002-Build-fixes-for-GCC-11.patch +Patch3: 0001-Partially-revert-813a928c7c3cf98670b6043149880ed5c95.patch # Breaks make_jobs #!BuildIgnore: cmake BuildRequires: alsa-devel @@ -126,7 +130,7 @@ required. %autopatch -p1 %build -# We need to link to some of the programs used as that the source assumes they were just build. +# We need to link to some of the programs used as that the source assumes they were just built. ln -s %{_bindir}/rcc-qt5 qtbase/bin/rcc ln -s %{_bindir}/uic-qt5 qtbase/bin/uic ln -s %{_bindir}/moc-qt5 qtbase/bin/moc @@ -137,13 +141,13 @@ ln -s %{_libqt5_bindir} qttools/bin # FIXME: you should use the %%configure macro ./configure \ - -verbose \ + -verbose \ -prefix %{_prefix} \ -bindir %{_libqt5_bindir} \ - -docdir %{_libqt5_docdir} \ - -accessibility \ - -no-strip \ - -opensource \ + -docdir %{_libqt5_docdir} \ + -accessibility \ + -no-strip \ + -opensource \ -confirm-license \ -release \ -nomake tests \