From 52cc586a65616ecb974af9057693342cb7c48d18 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sun, 3 Dec 2023 13:07:44 -0800 Subject: [PATCH] Re-do the namespace fix for the linker scripts This amends and corrects b63045477ea05c17f9abe9434e6d824453e3935a. The fix there was incorrect for two reasons: 1) it missed one symbol in QtCore (the QFutureInterfaceBase one added in 0f0371c8304bd7354a3c43f9fac6b85bd3e9a3f1. 2) it only worked for namespaces that were 15 characters long Instead, just use a wildcard where the namespace should be for Qt symbols (note: an extra wildcard appears for plain types because they go from to NE). Change-Id: Iae41eb8991e349ceb836fffd179d6e709d6632f8 Reviewed-by: Alexey Edelev Reviewed-by: Volker Hilsheimer Reviewed-by: Alexandru Croitor Reviewed-by: Michal Klocek (cherry picked from commit 93233516957f71054c42ba843cdd57216834acd7) --- src/corelib/CMakeLists.txt | 4 ++-- src/network/CMakeLists.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index 02ca2434b47..83c389a3088 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -1422,7 +1422,7 @@ qt_internal_extend_target(Core # Function called by inline methods taking a pointer to a private class as a parameter EXTRA_LINKER_SCRIPT_EXPORTS # QFutureInterfaceBase::setContinuation(std::function, QFutureInterfaceBasePrivate*) - "_ZN20QFutureInterfaceBase15setContinuationE*P27QFutureInterfaceBasePrivate" + "_ZN*20QFutureInterfaceBase15setContinuationE*27QFutureInterfaceBasePrivate*" # QReadWriteLock::destroyRecursive(QReadWriteLockPrivate*) - "_ZN14QReadWriteLock16destroyRecursiveEP21QReadWriteLockPrivate" + "_ZN*14QReadWriteLock16destroyRecursiveEP*21QReadWriteLockPrivate*" ) diff --git a/src/network/CMakeLists.txt b/src/network/CMakeLists.txt index f1eb9fe5f7a..754a3a37b59 100644 --- a/src/network/CMakeLists.txt +++ b/src/network/CMakeLists.txt @@ -402,5 +402,5 @@ qt_internal_extend_target(Network # Function called by inline methods taking a pointer to a private class as a parameter EXTRA_LINKER_SCRIPT_EXPORTS # QNetworkDatagram::destroy(QNetworkDatagramPrivate *d) - "_ZN16QNetworkDatagram7destroyEP23QNetworkDatagramPrivate" + "_ZN*16QNetworkDatagram7destroyEP*23QNetworkDatagramPrivate*" )