Lines 165-171
Link Here
|
165 |
__asm__("movq %%gs:0, %0" : "=r" (tid) : : ); |
165 |
__asm__("movq %%gs:0, %0" : "=r" (tid) : : ); |
166 |
#elif defined(Q_PROCESSOR_X86_64) && ((defined(Q_OS_LINUX) && defined(__GLIBC__)) || defined(Q_OS_FREEBSD)) |
166 |
#elif defined(Q_PROCESSOR_X86_64) && ((defined(Q_OS_LINUX) && defined(__GLIBC__)) || defined(Q_OS_FREEBSD)) |
167 |
// x86_64 Linux, BSD uses FS |
167 |
// x86_64 Linux, BSD uses FS |
|
|
168 |
# if defined(__ILP32__) |
169 |
__asm__("mov %%fs:%c1, %0" : "=r" (tid) : "i" (2 * sizeof(void*)) : ); |
170 |
# else |
168 |
__asm__("movq %%fs:%c1, %0" : "=r" (tid) : "i" (2 * sizeof(void*)) : ); |
171 |
__asm__("movq %%fs:%c1, %0" : "=r" (tid) : "i" (2 * sizeof(void*)) : ); |
|
|
172 |
# endif |
173 |
|
169 |
#elif defined(Q_PROCESSOR_X86_64) && defined(Q_OS_WIN) |
174 |
#elif defined(Q_PROCESSOR_X86_64) && defined(Q_OS_WIN) |
170 |
// See https://en.wikipedia.org/wiki/Win32_Thread_Information_Block |
175 |
// See https://en.wikipedia.org/wiki/Win32_Thread_Information_Block |
171 |
// First get the pointer to the TIB |
176 |
// First get the pointer to the TIB |