Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.6.1, 6.6.2, 6.6.3
-
None
-
-
08349ef0f (dev), f5738ab46 (6.7), 71f10d4f4 (6.6)
Description
I'm trying to build Qt on Gentoo x32 ABI (x86_64 with 32bit pointers), and I run into following problem:
/var/tmp/portage/dev-qt/qtbase-6.6.1-r4/work/qtbase-everywhere-src-6.6.1_build/include/QtCore/../../../qtbase-everywhere-src-6.6.1/src/corelib/thread/qthread.h: Assembler messages:
/var/tmp/portage/dev-qt/qtbase-6.6.1-r4/work/qtbase-everywhere-src-6.6.1_build/include/QtCore/../../../qtbase-everywhere-src-6.6.1/src/corelib/thread/qthread.h:168: Error: incorrect register `%r14d' used with `q' suffix
/var/tmp/portage/dev-qt/qtbase-6.6.1-r4/work/qtbase-everywhere-src-6.6.1_build/include/QtCore/../../../qtbase-everywhere-src-6.6.1/src/corelib/thread/qthread.h:168: Error: incorrect register `%ebx' used with `q' suffix
/var/tmp/portage/dev-qt/qtbase-6.6.1-r4/work/qtbase-everywhere-src-6.6.1_build/include/QtCore/../../../qtbase-everywhere-src-6.6.1/src/corelib/thread/qthread.h:168: Error: incorrect register `%r14d' used with `q' suffix
Fix (patch) is attached to this ticket.
Comment: pthread_t on x32 ABI is 32bit, therefore it should not be 'movq' but rather 'mov'. I made simple program to compare output of asm command and pthread_self(), and they provide identical output.
Reference Gentoo bug: https://bugs.gentoo.org/925103