lkml.org 
[lkml]   [2017]   [Apr]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] x86/mm/kaslr: Add operand size suffix to 'mul' instruction
Date
In difference to gas clang doesn't seem to infer the size from the
operands. Adding the suffix fixes the following error when building
with clang:

CC arch/x86/lib/kaslr.o
/tmp/kaslr-dfe1ad.s: Assembler messages:
/tmp/kaslr-dfe1ad.s:182: Error: no instruction mnemonic suffix given and
no register operands; can't size instruction

Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
---
arch/x86/lib/kaslr.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/arch/x86/lib/kaslr.c b/arch/x86/lib/kaslr.c
index 121f59c6ee54..947d4aa92ff7 100644
--- a/arch/x86/lib/kaslr.c
+++ b/arch/x86/lib/kaslr.c
@@ -79,7 +79,11 @@ unsigned long kaslr_get_random_long(const char *purpose)
}

/* Circular multiply for better bit diffusion */
- asm("mul %3"
+#ifdef CONFIG_X86_64
+ asm("mulq %3"
+#else
+ asm("mull %3"
+#endif
: "=a" (random), "=d" (raw)
: "a" (random), "rm" (mix_const));
random += raw;
--
2.13.0.rc0.306.g87b477812d-goog
\
 
 \ /
  Last update: 2017-04-26 21:02    [W:0.084 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site