- 
    
Bug
 - 
    Resolution: Fixed
 - 
    
P2: Important
 - 
    6.6.1, 6.6.2, 6.6.3
 - 
    None
 
- 
        
 - 
        08349ef0f (dev), f5738ab46 (6.7), 71f10d4f4 (6.6), 7fb77ca66 (tqtc/lts-6.5)
 
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