bdadcf593d
kvm-unit-tests uses the following code on x86/x86-64: static inline u64 scale_delta(u64 delta, u64 mul_frac) { u64 product, unused; __asm__ ( "mul %3" : "=d" (product), "=a" (unused) : "1" (delta), "rm" ((u64)mul_frac) ); return product; } The "mul" instruction does not have a suffix that indicates the width of the data being multiplied. When the data is passed in a register, there is no need to specify the width, but with some gcc versions, the data is passed as a memory reference, and therefore the assembler does not know the width of the data to be multiplied. It causes the following build failure: x86/hyperv_clock.c: Assembler messages: x86/hyperv_clock.c:21: Error: no instruction mnemonic suffix given and no register operands; can't size instruction Since the data being multiplied is 64 bit, we explicitly specify the instruction as being "mulq". Fixes: http://autobuild.buildroot.net/results/a4a65d01f049db83a93de92660f228dd18532625/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
||
---|---|---|
.. | ||
0001-remove-werror.patch | ||
0001-x86-hyperv_clock-be-explicit-about-mul-instruction-d.patch | ||
Config.in | ||
kvm-unit-tests.mk |