diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2015-06-02 11:30:57 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2015-10-20 16:21:03 +0000 |
commit | bf929938293abd398c2c6f3e88c4774e56f75efa (patch) | |
tree | 39276ef7f3d68d2410d8d1c8dbb67eddb2781aaf /src/corelib/global/global.pri | |
parent | 629ceec208ad5fe9f5d201fc42fce611e55c567d (diff) |
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>
Diffstat (limited to 'src/corelib/global/global.pri')
-rw-r--r-- | src/corelib/global/global.pri | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/corelib/global/global.pri b/src/corelib/global/global.pri index 8ecde5a769..aa4945f90e 100644 --- a/src/corelib/global/global.pri +++ b/src/corelib/global/global.pri @@ -17,7 +17,8 @@ HEADERS += \ global/qisenum.h \ global/qtypetraits.h \ global/qflags.h \ - global/qhooks_p.h + global/qhooks_p.h \ + global/qversiontagging.h SOURCES += \ global/archdetect.cpp \ |