diff --git a/CVE-2023-32762-qtbase-5.15.patch b/CVE-2023-32762-qtbase-5.15.patch deleted file mode 100644 index f0bc00f32c82e87a8a715039c3fe73d1e9ba322b..0000000000000000000000000000000000000000 --- a/CVE-2023-32762-qtbase-5.15.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/src/network/access/qhsts.cpp -+++ b/src/network/access/qhsts.cpp -@@ -364,8 +364,8 @@ quoted-pair = "\" CHAR - bool QHstsHeaderParser::parse(const QList> &headers) - { - for (const auto &h : headers) { -- // We use '==' since header name was already 'trimmed' for us: -- if (h.first == "Strict-Transport-Security") { -+ // We compare directly because header name was already 'trimmed' for us: -+ if (h.first.compare("Strict-Transport-Security", Qt::CaseInsensitive) == 0) { - header = h.second; - // RFC6797, 8.1: - // diff --git a/CVE-2023-32763-qtbase-5.15.patch b/CVE-2023-32763-qtbase-5.15.patch deleted file mode 100644 index 9685620945586f6e3eb9013c30f2954632fec5f1..0000000000000000000000000000000000000000 --- a/CVE-2023-32763-qtbase-5.15.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/src/gui/painting/qfixed_p.h b/src/gui/painting/qfixed_p.h -index 84659288..57d750a4 100644 ---- a/src/gui/painting/qfixed_p.h -+++ b/src/gui/painting/qfixed_p.h -@@ -54,6 +54,7 @@ - #include - #include "QtCore/qdebug.h" - #include "QtCore/qpoint.h" -+#include - #include "QtCore/qsize.h" - - QT_BEGIN_NAMESPACE -@@ -182,6 +183,14 @@ Q_DECL_CONSTEXPR inline bool operator<(int i, const QFixed &f) { return i * 64 < - Q_DECL_CONSTEXPR inline bool operator>(const QFixed &f, int i) { return f.value() > i * 64; } - Q_DECL_CONSTEXPR inline bool operator>(int i, const QFixed &f) { return i * 64 > f.value(); } - -+inline bool qAddOverflow(QFixed v1, QFixed v2, QFixed *r) -+{ -+ int val; -+ bool result = add_overflow(v1.value(), v2.value(), &val); -+ r->setValue(val); -+ return result; -+} -+ - #ifndef QT_NO_DEBUG_STREAM - inline QDebug &operator<<(QDebug &dbg, const QFixed &f) - { return dbg << f.toReal(); } -diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp -index 26ac37b0..f6c69ff4 100644 ---- a/src/gui/text/qtextlayout.cpp -+++ b/src/gui/text/qtextlayout.cpp -@@ -2150,11 +2150,14 @@ found: - eng->maxWidth = qMax(eng->maxWidth, line.textWidth); - } else { - eng->minWidth = qMax(eng->minWidth, lbh.minw); -- eng->maxWidth += line.textWidth; -+ if (qAddOverflow(eng->maxWidth, line.textWidth, &eng->maxWidth)) -+ eng->maxWidth = QFIXED_MAX; - } - -- if (line.textWidth > 0 && item < eng->layoutData->items.size()) -- eng->maxWidth += lbh.spaceData.textWidth; -+ if (line.textWidth > 0 && item < eng->layoutData->items.size()) { -+ if (qAddOverflow(eng->maxWidth, lbh.spaceData.textWidth, &eng->maxWidth)) -+ eng->maxWidth = QFIXED_MAX; -+ } - - line.textWidth += trailingSpace; - if (lbh.spaceData.length) { diff --git a/CVE-2023-33285-qtbase-5.15.patch b/CVE-2023-33285-qtbase-5.15.patch deleted file mode 100644 index ec33777d148d1a6997551d8c5db08d2fb1b9ea12..0000000000000000000000000000000000000000 --- a/CVE-2023-33285-qtbase-5.15.patch +++ /dev/null @@ -1,68 +0,0 @@ ---- a/src/network/kernel/qdnslookup_unix.cpp -+++ b/src/network/kernel/qdnslookup_unix.cpp -@@ -227,7 +227,6 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN - // responseLength in case of error, we still can extract the - // exact error code from the response. - HEADER *header = (HEADER*)response; -- const int answerCount = ntohs(header->ancount); - switch (header->rcode) { - case NOERROR: - break; -@@ -260,18 +259,31 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN - return; - } - -- // Skip the query host, type (2 bytes) and class (2 bytes). - char host[PACKETSZ], answer[PACKETSZ]; - unsigned char *p = response + sizeof(HEADER); -- int status = local_dn_expand(response, response + responseLength, p, host, sizeof(host)); -- if (status < 0) { -+ int status; -+ -+ if (ntohs(header->qdcount) == 1) { -+ // Skip the query host, type (2 bytes) and class (2 bytes). -+ status = local_dn_expand(response, response + responseLength, p, host, sizeof(host)); -+ if (status < 0) { -+ reply->error = QDnsLookup::InvalidReplyError; -+ reply->errorString = tr("Could not expand domain name"); -+ return; -+ } -+ if ((p - response) + status + 4 >= responseLength) -+ header->qdcount = 0xffff; // invalid reply below -+ else -+ p += status + 4; -+ } -+ if (ntohs(header->qdcount) > 1) { - reply->error = QDnsLookup::InvalidReplyError; -- reply->errorString = tr("Could not expand domain name"); -+ reply->errorString = tr("Invalid reply received"); - return; - } -- p += status + 4; - - // Extract results. -+ const int answerCount = ntohs(header->ancount); - int answerIndex = 0; - while ((p < response + responseLength) && (answerIndex < answerCount)) { - status = local_dn_expand(response, response + responseLength, p, host, sizeof(host)); -@@ -283,6 +295,11 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN - const QString name = QUrl::fromAce(host); - - p += status; -+ -+ if ((p - response) + 10 > responseLength) { -+ // probably just a truncated reply, return what we have -+ return; -+ } - const quint16 type = (p[0] << 8) | p[1]; - p += 2; // RR type - p += 2; // RR class -@@ -290,6 +307,8 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN - p += 4; - const quint16 size = (p[0] << 8) | p[1]; - p += 2; -+ if ((p - response) + size > responseLength) -+ return; // truncated - - if (type == QDnsLookup::A) { - if (size != 4) { diff --git a/CVE-2023-34410-qtbase-5.15.patch b/CVE-2023-34410-qtbase-5.15.patch deleted file mode 100644 index 82c1a2369014011d43a00578debf43fd11eb6ab3..0000000000000000000000000000000000000000 --- a/CVE-2023-34410-qtbase-5.15.patch +++ /dev/null @@ -1,54 +0,0 @@ ---- a/src/network/ssl/qsslsocket_schannel.cpp -+++ b/src/network/ssl/qsslsocket_schannel.cpp -@@ -1880,6 +1880,28 @@ bool QSslSocketBackendPrivate::verifyCertContext(CERT_CONTEXT *certContext) - if (configuration.peerVerifyDepth > 0 && DWORD(configuration.peerVerifyDepth) < verifyDepth) - verifyDepth = DWORD(configuration.peerVerifyDepth); - -+ const auto &caCertificates = q->sslConfiguration().caCertificates(); -+ -+ if (!rootCertOnDemandLoadingAllowed() -+ && !(chain->TrustStatus.dwErrorStatus & CERT_TRUST_IS_PARTIAL_CHAIN) -+ && (q->peerVerifyMode() == QSslSocket::VerifyPeer -+ || (isClient && q->peerVerifyMode() == QSslSocket::AutoVerifyPeer))) { -+ // When verifying a peer Windows "helpfully" builds a chain that -+ // may include roots from the system store. But we don't want that if -+ // the user has set their own CA certificates. -+ // Since Windows claims this is not a partial chain the root is included -+ // and we have to check that it is one of our configured CAs. -+ CERT_CHAIN_ELEMENT *element = chain->rgpElement[chain->cElement - 1]; -+ QSslCertificate certificate = getCertificateFromChainElement(element); -+ if (!caCertificates.contains(certificate)) { -+ auto error = QSslError(QSslError::CertificateUntrusted, certificate); -+ sslErrors += error; -+ emit q->peerVerifyError(error); -+ if (q->state() != QAbstractSocket::ConnectedState) -+ return false; -+ } -+ } -+ - for (DWORD i = 0; i < verifyDepth; i++) { - CERT_CHAIN_ELEMENT *element = chain->rgpElement[i]; - QSslCertificate certificate = getCertificateFromChainElement(element); - - ---- a/src/network/ssl/qsslsocket.cpp -+++ b/src/network/ssl/qsslsocket.cpp -@@ -2221,6 +2221,10 @@ QSslSocketPrivate::QSslSocketPrivate() - , flushTriggered(false) - { - QSslConfigurationPrivate::deepCopyDefaultConfiguration(&configuration); -+ // If the global configuration doesn't allow root certificates to be loaded -+ // on demand then we have to disable it for this socket as well. -+ if (!configuration.allowRootCertOnDemandLoading) -+ allowRootCertOnDemandLoading = false; - } - - /*! -@@ -2470,6 +2474,7 @@ void QSslConfigurationPrivate::deepCopyDefaultConfiguration(QSslConfigurationPri - ptr->sessionProtocol = global->sessionProtocol; - ptr->ciphers = global->ciphers; - ptr->caCertificates = global->caCertificates; -+ ptr->allowRootCertOnDemandLoading = global->allowRootCertOnDemandLoading; - ptr->protocol = global->protocol; - ptr->peerVerifyMode = global->peerVerifyMode; - ptr->peerVerifyDepth = global->peerVerifyDepth; diff --git a/kde-5.15-rollup-20230411.patch.gz b/kde-5.15-rollup-20230411.patch.gz deleted file mode 100644 index 055e7f947e98d558d56c3edf1aac16de7ce2397d..0000000000000000000000000000000000000000 Binary files a/kde-5.15-rollup-20230411.patch.gz and /dev/null differ diff --git a/kde-5.15-rollup-20231006.patch.gz b/kde-5.15-rollup-20231006.patch.gz new file mode 100644 index 0000000000000000000000000000000000000000..9cfac93dcc837a8059d49dbb7f8eff4e46a7b578 Binary files /dev/null and b/kde-5.15-rollup-20231006.patch.gz differ diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 68237db19236abedc77d8fc61560d2ec9e33deaf..9ac52dfb093da4d9c4622cc13a46b9963c62df20 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -1,4 +1,4 @@ -%define anolis_release 3 +%define anolis_release 1 %global openssl -openssl-linked %global zstd 1 @@ -32,7 +32,7 @@ BuildRequires: pkgconfig(libsystemd) Name: qt5-qtbase Summary: Qt5 - QtBase components -Version: 5.15.9 +Version: 5.15.11 Release: %{anolis_release}%{?dist} License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -43,6 +43,7 @@ Source0: https://download.qt.io/official_releases/qt/%{majmin}/%{version}/submod Source1: qtlogging.ini Source6: 10-qt5-check-opengl2.sh Source10: macros.%{name} +Patch0: add-loongarch64-support-for-qt5-qtbase.patch Patch2: qtbase-multilib_optflags.patch Patch3: qtbase-everywhere-src-5.15.6-private_api_warning.patch Patch50: qtbase-opensource-src-5.8.0-QT_VERSION_CHECK.patch @@ -61,11 +62,11 @@ Patch90: %{name}-gcc11.patch ## upstream patches # https://invent.kde.org/qt/qt/qtbase, kde/5.15 branch -# git diff v5.15.9-lts-lgpl..HEAD | gzip > kde-5.15-rollup-$(date +%Y%m%d).patch.gz +# git diff v5.15.11-lts-lgpl..HEAD | gzip > kde-5.15-rollup-$(date +%Y%m%d).patch.gz # patch100 in lookaside cache due to large'ish size -- rdieter -Patch100: kde-5.15-rollup-20230411.patch.gz +Patch100: kde-5.15-rollup-20231006.patch.gz -Patch101: qtbase-5.15.8-fix-missing-qtsan-include.patch +Patch101: qtbase-5.15.11-fix-missing-qtsan-include.patch # Workaround for font rendering issue with cjk-vf-fonts # https://bugreports.qt.io/browse/QTBUG-111994 # https://bugreports.qt.io/browse/QTBUG-112136 @@ -74,11 +75,6 @@ Patch103: qtbase-QTBUG-112136.patch # IBus input method cannot set panel position correctly with DPI scaling # https://bugreports.qt.io/browse/QTBUG-103393 Patch104: qtbase-QTBUG-103393.patch -Patch105: CVE-2023-32762-qtbase-5.15.patch -Patch106: CVE-2023-32763-qtbase-5.15.patch -Patch107: CVE-2023-33285-qtbase-5.15.patch -Patch108: CVE-2023-34410-qtbase-5.15.patch -Patch109: add-loongarch64-support-for-qt5-qtbase.patch %global __requires_exclude_from ^%{_qt5_plugindir}/platformthemes/.*$ # filter plugin provides @@ -243,32 +239,28 @@ Qt5 libraries used for drawing widgets and OpenGL items. %prep %setup -q -n %{qt_module}-everywhere-src-%{version} -%patch3 -p1 -b .private_api_warning - -%patch50 -p1 -b .QT_VERSION_CHECK -%patch52 -p1 -b .moc_macros -%patch53 -p1 -b .qt5gui_cmake_isystem_includes -%patch54 -p1 -b .qmake_LFLAGS -%patch55 -p1 -b .no_relocatable -%patch56 -p1 -b .libglvnd -%patch61 -p1 -b .%{name}-cxxflag -%patch64 -p1 -b .firebird -%patch65 -p1 -b .mysql - -%patch80 -p1 -b .use-wayland-on-gnome.patch - -%patch90 -p1 -b .gcc11 - -%patch100 -p1 -%patch101 -p1 -%patch102 -p1 -%patch103 -p1 -%patch104 -p1 -%patch105 -p1 -%patch106 -p1 -%patch107 -p1 -%patch108 -p1 -%patch109 -p1 +%patch -P 0 -p1 -b .loongarch +%patch -P 3 -p1 -b .private_api_warning + +%patch -P 50 -p1 -b .QT_VERSION_CHECK +%patch -P 52 -p1 -b .moc_macros +%patch -P 53 -p1 -b .qt5gui_cmake_isystem_includes +%patch -P 54 -p1 -b .qmake_LFLAGS +%patch -P 55 -p1 -b .no_relocatable +%patch -P 56 -p1 -b .libglvnd +%patch -P 61 -p1 -b .%{name}-cxxflag +%patch -P 64 -p1 -b .firebird +%patch -P 65 -p1 -b .mysql + +%patch -P 80 -p1 -b .use-wayland-on-gnome.patch + +%patch -P 90 -p1 -b .gcc11 + +%patch -P 100 -p1 +%patch -P 101 -p1 +%patch -P 102 -p1 +%patch -P 103 -p1 +%patch -P 104 -p1 pushd src/3rdparty mkdir UNUSED @@ -896,8 +888,12 @@ fi %changelog +* Sat Oct 07 2023 Funda Wang - 5.15.11-1 +- 5.15.11 + * Wed Aug 16 2023 Wenlong Zhang - 5.15.9-3 - add loongarch64 support for qt5-qtbase + * Tue Jun 06 2023 Funda Wang - 5.15.9-2 - Fix CVE-2023-33285 & CVE-2023-34410 diff --git a/qtbase-5.15.8-fix-missing-qtsan-include.patch b/qtbase-5.15.11-fix-missing-qtsan-include.patch similarity index 99% rename from qtbase-5.15.8-fix-missing-qtsan-include.patch rename to qtbase-5.15.11-fix-missing-qtsan-include.patch index 06facbbe9133d35698d5f2f6ecb3319305f1b6cd..a16760c3d377d46e29aff7d9d811b10c470f4589 100644 --- a/qtbase-5.15.8-fix-missing-qtsan-include.patch +++ b/qtbase-5.15.11-fix-missing-qtsan-include.patch @@ -1,11 +1,13 @@ -From f0ba62c20333bb08a2a0e34126d01bc3c316571f Mon Sep 17 00:00:00 2001 -From: Jan Grulich -Date: Tue, 11 Apr 2023 11:06:07 +0200 -Subject: Fix missing qtsan include - +diff --git a/include/QtCore/qtsan_impl.h b/include/QtCore/qtsan_impl.h +new file mode 100644 +index 00000000..e9209cbc +--- /dev/null ++++ b/include/QtCore/qtsan_impl.h +@@ -0,0 +1 @@ ++#include "../../src/corelib/thread/qtsan_impl.h" diff --git a/include/QtCore/headers.pri b/include/QtCore/headers.pri -index 276ed14f..0f4f7781 100644 +index 1a9c88ff..b6ed901e 100644 --- a/include/QtCore/headers.pri +++ b/include/QtCore/headers.pri @@ -1,6 +1,6 @@ @@ -16,14 +18,7 @@ index 276ed14f..0f4f7781 100644 SYNCQT.QPA_HEADER_FILES = -SYNCQT.CLEAN_HEADER_FILES = animation/qabstractanimation.h:animation animation/qanimationgroup.h:animation animation/qparallelanimationgroup.h:animation animation/qpauseanimation.h:animation animation/qpropertyanimation.h:animation animation/qsequentialanimationgroup.h:animation animation/qvariantanimation.h:animation codecs/qtextcodec.h:textcodec global/qcompilerdetection.h global/qendian.h global/qflags.h global/qfloat16.h global/qglobal.h global/qglobalstatic.h global/qisenum.h global/qlibraryinfo.h global/qlogging.h global/qnamespace.h global/qnumeric.h global/qoperatingsystemversion.h global/qprocessordetection.h global/qrandom.h global/qsysinfo.h global/qsystemdetection.h global/qtypeinfo.h global/qtypetraits.h global/qversiontagging.h io/qbuffer.h io/qdebug.h io/qdir.h io/qdiriterator.h io/qfile.h io/qfiledevice.h io/qfileinfo.h io/qfileselector.h io/qfilesystemwatcher.h:filesystemwatcher io/qiodevice.h io/qlockfile.h io/qloggingcategory.h io/qprocess.h:processenvironment io/qresource.h io/qsavefile.h io/qsettings.h:settings io/qstandardpaths.h io/qstorageinfo.h io/qtemporarydir.h io/qtemporaryfile.h io/qurl.h io/qurlquery.h itemmodels/qabstractitemmodel.h:itemmodel itemmodels/qabstractproxymodel.h:proxymodel itemmodels/qconcatenatetablesproxymodel.h:concatenatetablesproxymodel itemmodels/qidentityproxymodel.h:identityproxymodel itemmodels/qitemselectionmodel.h:itemmodel itemmodels/qsortfilterproxymodel.h:sortfilterproxymodel itemmodels/qstringlistmodel.h:stringlistmodel itemmodels/qtransposeproxymodel.h:transposeproxymodel kernel/qabstracteventdispatcher.h kernel/qabstractnativeeventfilter.h kernel/qbasictimer.h kernel/qcoreapplication.h kernel/qcoreevent.h kernel/qdeadlinetimer.h kernel/qelapsedtimer.h kernel/qeventloop.h kernel/qfunctions_nacl.h kernel/qfunctions_vxworks.h kernel/qfunctions_winrt.h kernel/qmath.h kernel/qmetaobject.h kernel/qmetatype.h kernel/qmimedata.h kernel/qobject.h kernel/qobjectcleanuphandler.h kernel/qobjectdefs.h kernel/qpointer.h kernel/qsharedmemory.h kernel/qsignalmapper.h kernel/qsocketnotifier.h kernel/qsystemsemaphore.h kernel/qtestsupport_core.h kernel/qtimer.h kernel/qtranslator.h kernel/qvariant.h kernel/qwineventnotifier.h mimetypes/qmimedatabase.h:mimetype mimetypes/qmimetype.h:mimetype plugin/qfactoryinterface.h plugin/qlibrary.h:library plugin/qplugin.h plugin/qpluginloader.h plugin/quuid.h serialization/qcborarray.h serialization/qcborcommon.h serialization/qcbormap.h serialization/qcborstream.h serialization/qcborstreamreader.h:cborstreamreader serialization/qcborstreamwriter.h:cborstreamwriter serialization/qcborvalue.h serialization/qdatastream.h serialization/qjsonarray.h serialization/qjsondocument.h serialization/qjsonobject.h serialization/qjsonvalue.h serialization/qtextstream.h serialization/qxmlstream.h statemachine/qabstractstate.h:statemachine statemachine/qabstracttransition.h:statemachine statemachine/qeventtransition.h:qeventtransition statemachine/qfinalstate.h:statemachine statemachine/qhistorystate.h:statemachine statemachine/qsignaltransition.h:statemachine statemachine/qstate.h:statemachine statemachine/qstatemachine.h:statemachine text/qbytearray.h text/qbytearraylist.h text/qbytearraymatcher.h text/qchar.h text/qcollator.h text/qlocale.h text/qregexp.h text/qregularexpression.h:regularexpression text/qstring.h text/qstringalgorithms.h text/qstringbuilder.h text/qstringlist.h text/qstringliteral.h text/qstringmatcher.h text/qstringview.h text/qtextboundaryfinder.h thread/qatomic.h thread/qbasicatomic.h thread/qexception.h:future thread/qfuture.h:future thread/qfutureinterface.h:future thread/qfuturesynchronizer.h:future thread/qfuturewatcher.h:future thread/qmutex.h thread/qreadwritelock.h thread/qresultstore.h:future thread/qrunnable.h thread/qsemaphore.h:thread thread/qthread.h thread/qthreadpool.h:thread thread/qthreadstorage.h thread/qwaitcondition.h time/qcalendar.h time/qdatetime.h time/qtimezone.h:timezone tools/qalgorithms.h tools/qarraydata.h tools/qarraydataops.h tools/qarraydatapointer.h tools/qbitarray.h tools/qcache.h tools/qcommandlineoption.h:commandlineparser tools/qcommandlineparser.h:commandlineparser tools/qcontainerfwd.h tools/qcontiguouscache.h tools/qcryptographichash.h tools/qeasingcurve.h:easingcurve tools/qhash.h tools/qhashfunctions.h tools/qiterator.h tools/qline.h tools/qlinkedlist.h tools/qlist.h tools/qmap.h tools/qmargins.h tools/qmessageauthenticationcode.h tools/qpair.h tools/qpoint.h tools/qqueue.h tools/qrect.h tools/qrefcount.h tools/qscopedpointer.h tools/qscopedvaluerollback.h tools/qscopeguard.h tools/qset.h tools/qshareddata.h tools/qsharedpointer.h tools/qsize.h tools/qstack.h tools/qtimeline.h:easingcurve tools/qvarlengtharray.h tools/qvector.h tools/qversionnumber.h +SYNCQT.CLEAN_HEADER_FILES = animation/qabstractanimation.h:animation animation/qanimationgroup.h:animation animation/qparallelanimationgroup.h:animation animation/qpauseanimation.h:animation animation/qpropertyanimation.h:animation animation/qsequentialanimationgroup.h:animation animation/qvariantanimation.h:animation codecs/qtextcodec.h:textcodec global/qcompilerdetection.h global/qendian.h global/qflags.h global/qfloat16.h global/qglobal.h global/qglobalstatic.h global/qisenum.h global/qlibraryinfo.h global/qlogging.h global/qnamespace.h global/qnumeric.h global/qoperatingsystemversion.h global/qprocessordetection.h global/qrandom.h global/qsysinfo.h global/qsystemdetection.h global/qtypeinfo.h global/qtypetraits.h global/qversiontagging.h io/qbuffer.h io/qdebug.h io/qdir.h io/qdiriterator.h io/qfile.h io/qfiledevice.h io/qfileinfo.h io/qfileselector.h io/qfilesystemwatcher.h:filesystemwatcher io/qiodevice.h io/qlockfile.h io/qloggingcategory.h io/qprocess.h:processenvironment io/qresource.h io/qsavefile.h io/qsettings.h:settings io/qstandardpaths.h io/qstorageinfo.h io/qtemporarydir.h io/qtemporaryfile.h io/qurl.h io/qurlquery.h itemmodels/qabstractitemmodel.h:itemmodel itemmodels/qabstractproxymodel.h:proxymodel itemmodels/qconcatenatetablesproxymodel.h:concatenatetablesproxymodel itemmodels/qidentityproxymodel.h:identityproxymodel itemmodels/qitemselectionmodel.h:itemmodel itemmodels/qsortfilterproxymodel.h:sortfilterproxymodel itemmodels/qstringlistmodel.h:stringlistmodel itemmodels/qtransposeproxymodel.h:transposeproxymodel kernel/qabstracteventdispatcher.h kernel/qabstractnativeeventfilter.h kernel/qbasictimer.h kernel/qcoreapplication.h kernel/qcoreevent.h kernel/qdeadlinetimer.h kernel/qelapsedtimer.h kernel/qeventloop.h kernel/qfunctions_nacl.h kernel/qfunctions_vxworks.h kernel/qfunctions_winrt.h kernel/qmath.h kernel/qmetaobject.h kernel/qmetatype.h kernel/qmimedata.h kernel/qobject.h kernel/qobjectcleanuphandler.h kernel/qobjectdefs.h kernel/qpointer.h kernel/qsharedmemory.h kernel/qsignalmapper.h kernel/qsocketnotifier.h kernel/qsystemsemaphore.h kernel/qtestsupport_core.h kernel/qtimer.h kernel/qtranslator.h kernel/qvariant.h kernel/qwineventnotifier.h mimetypes/qmimedatabase.h:mimetype mimetypes/qmimetype.h:mimetype plugin/qfactoryinterface.h plugin/qlibrary.h:library plugin/qplugin.h plugin/qpluginloader.h plugin/quuid.h serialization/qcborarray.h serialization/qcborcommon.h serialization/qcbormap.h serialization/qcborstream.h serialization/qcborstreamreader.h:cborstreamreader serialization/qcborstreamwriter.h:cborstreamwriter serialization/qcborvalue.h serialization/qdatastream.h serialization/qjsonarray.h serialization/qjsondocument.h serialization/qjsonobject.h serialization/qjsonvalue.h serialization/qtextstream.h serialization/qxmlstream.h statemachine/qabstractstate.h:statemachine statemachine/qabstracttransition.h:statemachine statemachine/qeventtransition.h:qeventtransition statemachine/qfinalstate.h:statemachine statemachine/qhistorystate.h:statemachine statemachine/qsignaltransition.h:statemachine statemachine/qstate.h:statemachine statemachine/qstatemachine.h:statemachine text/qbytearray.h text/qbytearraylist.h text/qbytearraymatcher.h text/qchar.h text/qcollator.h text/qlocale.h text/qregexp.h text/qregularexpression.h:regularexpression text/qstring.h text/qstringalgorithms.h text/qstringbuilder.h text/qstringlist.h text/qstringliteral.h text/qstringmatcher.h text/qstringview.h text/qtextboundaryfinder.h thread/qatomic.h thread/qbasicatomic.h thread/qexception.h:future thread/qfuture.h:future thread/qfutureinterface.h:future thread/qfuturesynchronizer.h:future thread/qfuturewatcher.h:future thread/qmutex.h thread/qreadwritelock.h thread/qresultstore.h:future thread/qrunnable.h thread/qsemaphore.h:thread thread/qthread.h thread/qthreadpool.h:thread thread/qthreadstorage.h thread/qwaitcondition.h thread/qtsan_impl.h time/qcalendar.h time/qdatetime.h time/qtimezone.h:timezone tools/qalgorithms.h tools/qarraydata.h tools/qarraydataops.h tools/qarraydatapointer.h tools/qbitarray.h tools/qcache.h tools/qcommandlineoption.h:commandlineparser tools/qcommandlineparser.h:commandlineparser tools/qcontainerfwd.h tools/qcontiguouscache.h tools/qcryptographichash.h tools/qeasingcurve.h:easingcurve tools/qhash.h tools/qhashfunctions.h tools/qiterator.h tools/qline.h tools/qlinkedlist.h tools/qlist.h tools/qmap.h tools/qmargins.h tools/qmessageauthenticationcode.h tools/qpair.h tools/qpoint.h tools/qqueue.h tools/qrect.h tools/qrefcount.h tools/qscopedpointer.h tools/qscopedvaluerollback.h tools/qscopeguard.h tools/qset.h tools/qshareddata.h tools/qsharedpointer.h tools/qsize.h tools/qstack.h tools/qtimeline.h:easingcurve tools/qvarlengtharray.h tools/qvector.h tools/qversionnumber.h - SYNCQT.INJECTIONS = src/corelib/global/qconfig.h:qconfig.h:QtConfig src/corelib/global/qconfig_p.h:5.15.9/QtCore/private/qconfig_p.h -diff --git a/include/QtCore/qtsan_impl.h b/include/QtCore/qtsan_impl.h -new file mode 100644 -index 00000000..e9209cbc ---- /dev/null -+++ b/include/QtCore/qtsan_impl.h -@@ -0,0 +1 @@ -+#include "../../src/corelib/thread/qtsan_impl.h" + SYNCQT.INJECTIONS = src/corelib/global/qconfig.h:qconfig.h:QtConfig src/corelib/global/qconfig_p.h:5.15.11/QtCore/private/qconfig_p.h diff --git a/src/corelib/thread/thread.pri b/src/corelib/thread/thread.pri index 25cf68a3..8027a71e 100644 --- a/src/corelib/thread/thread.pri diff --git a/qtbase-everywhere-opensource-src-5.15.9.tar.xz b/qtbase-everywhere-opensource-src-5.15.11.tar.xz similarity index 80% rename from qtbase-everywhere-opensource-src-5.15.9.tar.xz rename to qtbase-everywhere-opensource-src-5.15.11.tar.xz index 29474d369bca7379c03dcf73acb305da3c09dc47..e50fc9031884e210f60812fb97f45360dec88a3f 100644 Binary files a/qtbase-everywhere-opensource-src-5.15.9.tar.xz and b/qtbase-everywhere-opensource-src-5.15.11.tar.xz differ