diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2016-01-26 18:33:02 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2016-01-26 19:40:45 +0000 |
commit | f3060312c89344744832e3352fe4f53efcb94c9b (patch) | |
tree | de69be5e25a1acd3207a8952376f634fe94fefcc /src/corelib/global/qversiontagging.h | |
parent | c29d3692d700f7ef6d5833242878b4ec6f81c928 (diff) | |
parent | a15c3d086dafea83e4760f0b447be43d26b80697 (diff) |
Merge "Merge remote-tracking branch 'origin/5.6' into dev" into refs/staging/dev
Diffstat (limited to 'src/corelib/global/qversiontagging.h')
-rw-r--r-- | src/corelib/global/qversiontagging.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/corelib/global/qversiontagging.h b/src/corelib/global/qversiontagging.h index 706e7e07ff..f9062a98fb 100644 --- a/src/corelib/global/qversiontagging.h +++ b/src/corelib/global/qversiontagging.h @@ -52,7 +52,7 @@ QT_BEGIN_NAMESPACE * qt_version_tag symbol that is present in QtCore. Such symbol is versioned, * so the linker will automatically pull the current Qt version and add it to * the ELF header of the library/application. The assembly produces one section - * called ".qtversion" containing two pointer-sized values. The first is a + * called ".qtversion" containing two 32-bit values. The first is a * relocation to the qt_version_tag symbol (which is what causes the ELF * version to get used). The second value is the current Qt version at the time * of compilation. @@ -64,10 +64,12 @@ QT_BEGIN_NAMESPACE // don't make tags in QtCore, bootstrapped systems or if the user asked not to #elif defined(Q_CC_GNU) && !defined(Q_OS_ANDROID) # if defined(Q_PROCESSOR_X86) && (defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL)) -# ifdef __LP64__ -# define QT_VERSION_TAG_RELOC(sym) ".quad " QT_STRINGIFY(QT_MANGLE_NAMESPACE(sym)) "@GOTPCREL\n" -# elif defined(Q_PROCESSOR_X86_64) // x32 -# define QT_VERSION_TAG_RELOC(sym) ".long " QT_STRINGIFY(QT_MANGLE_NAMESPACE(sym)) "@GOTPCREL\n" +# if defined(Q_PROCESSOR_X86_64) // x86-64 or x32 +# if defined(__code_model_large__) +# define QT_VERSION_TAG_RELOC(sym) ".quad " QT_STRINGIFY(QT_MANGLE_NAMESPACE(sym)) "@GOT\n" +# else +# define QT_VERSION_TAG_RELOC(sym) ".long " QT_STRINGIFY(QT_MANGLE_NAMESPACE(sym)) "@GOTPCREL\n" +# endif # else // x86 # define QT_VERSION_TAG_RELOC(sym) ".long " QT_STRINGIFY(QT_MANGLE_NAMESPACE(sym)) "@GOT\n" # endif |