diff options
| author | Thiago Macieira <thiago.macieira@intel.com> | 2024-02-22 16:53:51 -0600 |
|---|---|---|
| committer | Thiago Macieira <thiago.macieira@intel.com> | 2024-02-25 18:29:38 -0600 |
| commit | 08349ef0fe3902504987d12ebe0ed9674ed1e486 (patch) | |
| tree | d882c08aa69e0fab7fbd892865fcff1af6b73aed /src/plugins/sqldrivers/sqlite/qsql_sqlite.cpp | |
| parent | 90a6415bedfc4ce1a934c3a36271b20c1a6a606a (diff) | |
QThread::currentThreadId: fix build on x32 (ILP32) ABI
On this ABI, pointers are 32-bit, so Qt::HANDLE (void *) is a 32-bit
variable and the "movq" instruction is inappropriate.
There's a GCC extended inline assembler modifier for the instruction
size suffix (%z0) but Clang seems not to understand it. Instead, I just
removed the suffix: we can do that because this is a memory load
instruction, which implies the destination is a general purpose register
(also required by the "=r" constraint) and therefore the assembler can
determine the size of the memory load from the name of the selected
register.
Note: I did not verify this compiles on x32 at all, much less that it
loads the right thing from memory.
Fixes: QTBUG-122674
Pick-to: 6.5 6.6 6.7
Change-Id: I01ec3c774d9943adb903fffd17b6513d146e89ce
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/plugins/sqldrivers/sqlite/qsql_sqlite.cpp')
0 files changed, 0 insertions, 0 deletions
