Re: [PATCH v2] x86/mm/kaslr: Use _ASM_MUL macro for multiplication
From: Greg Hackmann
Date: Wed Apr 26 2017 - 17:29:29 EST
On 04/26/2017 02:24 PM, hpa@xxxxxxxxx wrote:
This really feels like a "fix your compiler" issue.
We already use the other forms, what's so bad about adding mul too?
And if this lets us build under clang, all the better.
-Kees
It's not bad per se, but if this doesn't eventually gets fixed in clang we'll have no end of this crap.
AIUI the "problem" is that clang is spilling mix_const into memory
rather than assigning it to a register. This is perfectly legal since
mix_const has a constraint of "rm". But mul needs a suffix when the
input is a memory location, since it can't infer the multiplication
width from the input operand anymore.
You get the same error message with gcc if you force it to use a memory
location, by narrowing the constraint from "rm" to "m".