On 08.10.2024 18:37, Andrew Cooper wrote:
> On 08/10/2024 5:00 pm, Jan Beulich wrote:
>> It's not unnecessary (as the earlier commit claimed): The integrated
>> assembler of Clang up to 11 complains about an "invalid operand for
>> instruction".
>>
>> Fixes: b42cf31d1165 ("x86: use alternative_input() in cache_flush()")
>> Signed-off-by: Jan Beulich <jbeul...@suse.com>
>>
>> --- a/xen/arch/x86/flushtlb.c
>> +++ b/xen/arch/x86/flushtlb.c
>> @@ -286,7 +286,7 @@ void cache_flush(const void *addr, unsig
>>           * + prefix than a clflush + nop, and hence the prefix is added 
>> instead
>>           * of letting the alternative framework fill the gap by appending 
>> nops.
>>           */
>> -        alternative_input("ds clflush %[p]",
>> +        alternative_input("ds; clflush %[p]",
> 
> /* Clang-IAS < 12 needs the semicolon */  which can probably fit on the
> end of the line.

I've made it "Semicolon for Clang-IAS < 12" to actually fit on the line.

I wonder whether I can take the reply as "ack with that change"?

> Or we stop supporting such old versions of Clang/LLVM.

As indicated in reply to Roger's proposal, that would leave me without
any way to test with at least some Clang versions (unless I got into the
business of also building my own Clang binaries). IOW - I could live
with such a move, but I'd prefer us not to be overly aggressive there.

Jan

Reply via email to