Go to file
Thiago Macieira bf92993829 Add an automatic use of the ELF-versioned QtCore symbol
See the comment in the header for an explanation of what it does.

This trick is enabled for every single .o that is compiled, unless
QT_NO_VERSION_TAGGING is defined. The assembly expands to a COMDAT
section, which is mergeable by the linker, so only one copy of the
output is present in the ELF module.

This is enabled only for Linux and x86 / x86-64 / x32 due to the
requirement of writing assembly and relocations, so it needs to be
tested on each platform, which I have not done. It might work on
Solaris/x86, but again it requires testing. Support for other
architectures requires different assembly output and relocations and can
be added as needed, but they are not as important since this trick is
has most value on desktop systems.

Change-Id: I049a653beeb5454c9539ffff13e3ff5782a8cb86
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Rex Dieter <rdieter@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-20 16:21:03 +00:00
bin syncqt: complain if a public header includes a private one 2015-10-15 16:20:37 +00:00
config.tests Separate KMS and GBM tests 2015-10-14 11:39:26 +00:00
dist Update the Qt 5.5.1 changelog for qtbase 2015-09-23 06:49:28 +00:00
doc Doc: Add the Map Viewer example to the highlighted examples list 2015-10-20 08:57:17 +00:00
examples TextEdit example: fix build when clipboard is disabled. 2015-10-19 14:56:45 +00:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs Update qversiontagging.cpp not to use too much assembler magic 2015-10-20 16:20:34 +00:00
qmake msvc2015: Align compiler flags with rest of Qt build 2015-10-20 14:10:11 +00:00
src Add an automatic use of the ELF-versioned QtCore symbol 2015-10-20 16:21:03 +00:00
tests QLatin1String: add default ctor 2015-10-20 09:27:21 +00:00
tools msvc2015: Align compiler flags with rest of Qt build 2015-10-20 14:10:11 +00:00
util Fix a #! first line. 2015-09-30 18:26:06 +00:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore Remove qtdemo from gitignore 2014-09-17 12:38:55 +02:00
.qmake.conf Move the official Qt version from qglobal.h to .qmake.conf 2015-10-14 20:12:57 +00:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
configure Add a deprecation warning to configure about -no-c++11 2015-10-18 04:47:00 +00:00
configure.bat Move the official Qt version from qglobal.h to .qmake.conf 2015-10-14 20:12:57 +00:00
header.BSD Updated BSD licensed file headers 2015-02-15 07:41:17 +00:00
header.COMM Add header template for commercial only modules 2015-10-19 10:37:18 +00:00
header.FDL Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL3 Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL3-COMM Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL21 Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL-ONLY Update copyright headers 2015-02-11 06:49:51 +00:00
INSTALL Doc: Update links in INSTALL file 2015-02-16 09:06:41 +00:00
LGPL_EXCEPTION.txt Update copyright headers 2015-02-11 06:49:51 +00:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPLv3 fix up license references 2015-08-13 11:13:09 +00:00
LICENSE.LGPLv3 fix up license references 2015-08-13 11:13:09 +00:00
LICENSE.LGPLv21 Update copyright headers 2015-02-11 06:49:51 +00:00
LICENSE.PREVIEW.COMMERCIAL Update copyright headers 2015-02-11 06:49:51 +00:00
qtbase.pro Avoid qtbase/bin/bin artifact when running make install 2015-06-03 04:27:49 +00:00
sync.profile Move the function helper to its own file 2015-06-05 07:48:17 +00:00