On 09/10/2024 7:04 am, Jan Beulich wrote: > 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"?
Yeah, that's good enough. Acked-by: Andrew Cooper <andrew.coop...@citrix.com> > >> 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). Or using the upstream provided builds. (Seriously - this is something the LLVM community completely outshine the GCC/Binutils community.) Or using Gitlab CI. ~Andrew