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>bb10
parent
d31bc5cbf9
commit
1721d56d28
|
|
@ -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) \
|
||||
|
|
|
|||
Loading…
Reference in New Issue