summaryrefslogtreecommitdiffstats
path: root/src/corelib/global/qversiontagging.h
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2016-04-18 13:08:24 -0700
committerThiago Macieira <thiago.macieira@intel.com>2016-04-19 18:17:38 +0000
commit1721d56d2895f3b1f5b09022dc558bf40cd8194c (patch)
tree8ed43deb9402079a3e6731190272a821bb55f894 /src/corelib/global/qversiontagging.h
parentd31bc5cbf9ac8abba82aec6d8974cf74ee3d2faa (diff)
Fix build on Linux/x32 systems (x86-64 ILP32)
When I tested this, it compiled, but either I wasn't using the same compiler or the problem happens during linking: we can't use .quad (64-bit) with a relocation on x32. So instead, let's use .long (32-bit). Task-number: QTBUG-52658 Change-Id: Ifea6e497f11a461db432ffff14468d1a16f49c67 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Diffstat (limited to 'src/corelib/global/qversiontagging.h')
-rw-r--r--src/corelib/global/qversiontagging.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/corelib/global/qversiontagging.h b/src/corelib/global/qversiontagging.h
index 953f669501..fa824d1c89 100644
--- a/src/corelib/global/qversiontagging.h
+++ b/src/corelib/global/qversiontagging.h
@@ -58,9 +58,9 @@ 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))
-# if defined(Q_PROCESSOR_X86_64) // x86-64 or x32
+# if defined(Q_PROCESSOR_X86_64) && QT_POINTER_SIZE == 8 // x86-64 64-bit
# define QT_VERSION_TAG_RELOC(sym) ".quad " QT_STRINGIFY(QT_MANGLE_NAMESPACE(sym)) "@GOT\n"
-# else // x86
+# else // x86 or x86-64 32-bit (x32)
# define QT_VERSION_TAG_RELOC(sym) ".long " QT_STRINGIFY(QT_MANGLE_NAMESPACE(sym)) "@GOT\n"
# endif
# define QT_VERSION_TAG(sym) \