diff --git a/src/corelib/global/qversiontagging.h b/src/corelib/global/qversiontagging.h
index 953f669501b5e5111bd707e2adad8298fd025766..fa824d1c89ea0c97ebdee576a00451a04782b2c1 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) \