Details
-
Bug
-
Resolution: Duplicate
-
Not Evaluated
-
None
-
6.3.1
-
None
Description
On ARM < v7 with gcc, the build fails with:
/tmp/ccRlrCQi.s: Assembler messages:
/tmp/ccRlrCQi.s:3858: Error: selected processor does not support `yield' in ARM mode
/tmp/ccRlrCQi.s:3875: Error: selected processor does not support `yield' in ARM mode
/tmp/ccRlrCQi.s:4606: Error: selected processor does not support `yield' in ARM mode
/tmp/ccRlrCQi.s:4853: Error: selected processor does not support `yield' in ARM mode
/tmp/ccRlrCQi.s:5268: Error: selected processor does not support `yield' in ARM mode
while building src/corelib/thread/qfutureinterface.cpp.
This is due to the fact that the qYieldCpu() macro on ARM, assumes
that if the compiler is gcc, we can do asm volatile("yield"). However,
this instruction is only guaranteed to exist on ARMv7+ cores. It
doesn't exist on ARMv5, and only some (but not all) ARMv6 cores have
it.
I initially intended to contribute the patch directly, but the Qt contribution process is too painful for such a small change, so I attach the patch here. I don't care about authorship on the patch, so if changing the author to somebody else makes the acceptance process easier from a legal standpoint, feel free to pick up the change with a different author name.
Attachments
Issue Links
- duplicates
-
QTBUG-104316 Qt 6.3.1 build for arm failed: selected processor does not support `yield' in ARM mode
-
- Closed
-