On 14/09/2020 16.45, Roman Bolshakov wrote: > On Fri, Sep 04, 2020 at 04:31:03PM +0200, Thomas Huth wrote: >> On 01/09/2020 10.50, Roman Bolshakov wrote: >>> .gitlab-ci.yml already has a job to build the tests with clang but it's >>> not clear how to set it up on a personal github repo. >> >> You can't use gitlab-ci from a github repo, it's a separate git forge >> system. >> >>> NB, realmode test is disabled because it fails immediately after start >>> if compiled with clang-10. >>> >>> Signed-off-by: Roman Bolshakov <r.bolshakov@xxxxxxxxx> >>> --- >>> .travis.yml | 10 ++++++++++ >>> 1 file changed, 10 insertions(+) >>> >>> diff --git a/.travis.yml b/.travis.yml >>> index f3a8899..ae4ed08 100644 >>> --- a/.travis.yml >>> +++ b/.travis.yml >>> @@ -17,6 +17,16 @@ jobs: >>> kvmclock_test msr pcid rdpru realmode rmap_chain s3 setjmp umip" >>> - ACCEL="kvm" >>> >>> + - addons: >>> + apt_packages: clang-10 qemu-system-x86 >>> + env: >>> + - CONFIG="--cc=clang-10" >>> + - BUILD_DIR="." >>> + - TESTS="access asyncpf debug emulator ept hypercall hyperv_stimer >>> + hyperv_synic idt_test intel_iommu ioapic ioapic-split >>> + kvmclock_test msr pcid rdpru rmap_chain s3 setjmp umip" >>> + - ACCEL="kvm" >> >> We already have two jobs for compiling on x86, one for testing in-tree >> builds and one for testing out-of-tree builds ... I wonder whether we >> should simply switch one of those two jobs to use clang-10 instead of >> gcc (since the in/out-of-tree stuff should be hopefully independent of >> the compiler type)? Since Travis limits the amount of jobs that run at >> the same time, that would not increase the total testing time, I think. >> > > Hi Thomas, > > sure, that works for me. > >> Thomas >> >> >> PS: Maybe we could update from bionic to focal now, too, and see whether >> some more tests are working with the newer version of QEMU there... >> > > no problem, here're results for focal/kvm on IBM x3500 M3 (Nehalem) if > the tests are built with clang: [...] Thanks for checking, that looks promising! > The difference is only realmode test which doesn't work if built by > clang. Hmm, if you got some spare minutes, could you check if it works when replacing the asm() statements there with asm volatile() ? (Otherwise I'll check it if I got some spare time again ... so likely not this week ;-)) Thomas