qt6-bb10/tests/auto/corelib
Thiago Macieira 6234182d82 QMetaType: don't use global relocations to the lambdas and structures
The way the Qt 6.0 QMetaTypeInterface was designed, using a static
inline variable in a template, would normally require the linker and
dynamic linker to merge all copies and choose a single copy as the
official one. But because of hidden visibility and of Windows DLLs,
QMetaType already copes with multiple copies NOT getting merged. So we
may as well ask the linkers not to bother and use simpler, local
relocations to find those symbols.

They are all supposed to still be equivalent and it's an ODR violation
if they're not.

The Apple ld64 linker complains if you use this type of global
relocation:

 ld: warning: direct access in function
  [...]
   to global weak symbol
   'QtPrivate::QMetaTypeInterfaceWrapper<int>::metaType'

Fixes: QTBUG-93471
Pick-to: 6.3 6.4
Change-Id: Id0fb9ab0089845ee8843fffd16f98a10aa719434
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-08-12 11:32:29 -07:00
..
animation Add license headers to cmake files 2022-08-03 17:14:55 +02:00
global Tests: remove #define COMMA 2022-08-09 12:13:26 -07:00
io qputenv: port to QByteArrayView 2022-08-06 14:21:46 +00:00
itemmodels Add license headers to cmake files 2022-08-03 17:14:55 +02:00
kernel QMetaType: don't use global relocations to the lambdas and structures 2022-08-12 11:32:29 -07:00
mimetypes Add license headers to cmake files 2022-08-03 17:14:55 +02:00
platform Add license headers to cmake files 2022-08-03 17:14:55 +02:00
plugin Add license headers to cmake files 2022-08-03 17:14:55 +02:00
serialization Add license headers to cmake files 2022-08-03 17:14:55 +02:00
text Add Latin 1 case-insensitive Boyer-Moore searcher 2022-08-04 23:12:39 +02:00
thread Remove blacklist of tryAcquireWithTimeout on Windows 2022-08-07 16:05:03 +02:00
time qputenv: port to QByteArrayView 2022-08-06 14:21:46 +00:00
tools Tests: remove #define COMMA 2022-08-09 12:13:26 -07:00
CMakeLists.txt Add license headers to cmake files 2022-08-03 17:14:55 +02:00