aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Deegan <tim@xen.org>2013-08-16 12:11:21 +0200
committerJan Beulich <jbeulich@suse.com>2013-08-16 12:11:21 +0200
commite737f237a373c673537062a7a3324f345120a113 (patch)
treebc95458dc8840c85b802d8c3a0e853aa60f07166
parentc60e85a6a61af79ef49094be28588760993183d1 (diff)
downloadxen-e737f237a373c673537062a7a3324f345120a113.tar.gz
xen-e737f237a373c673537062a7a3324f345120a113.tar.bz2
xen-e737f237a373c673537062a7a3324f345120a113.zip
x86: explicit suffix in inline assembler (for clang).
This fixes the clang build, and has no effect on gcc's output. Signed-off-by: Tim Deegan <tim@xen.org> Committed-by: Jan Beulich <jbeulich@suse.com> master commit: 59a28b5f045331641cbf0c1fc8d5d67afe328939 master date: 2013-02-14 14:20:06 +0100 Note that this isn't just a build fix - if the "delta" input ends up in memory, gas would default to 32-bit operand size (and should really warn about the ambiguity).
-rw-r--r--xen/arch/x86/time.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 20edfd71e4..c3b0b865b8 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -140,7 +140,7 @@ static inline u64 scale_delta(u64 delta, struct time_scale *scale)
: "a" ((u32)delta), "1" ((u32)(delta >> 32)), "2" (scale->mul_frac) );
#else
asm (
- "mul %2 ; shrd $32,%1,%0"
+ "mulq %2 ; shrd $32,%1,%0"
: "=a" (product), "=d" (delta)
: "rm" (delta), "0" ((u64)scale->mul_frac) );
#endif