Thomas Huth <th...@redhat.com> writes:
> Add it to the existing Clang job and also add a job that covers the > linux-user code with this compiler flag. To make sure that the detected > problems are not simply ignored, let's also use "-fno-sanitize-recover=..." > now instead. > > Signed-off-by: Thomas Huth <th...@redhat.com> > --- > .gitlab-ci.yml | 14 ++++++++++++-- > .travis.yml | 27 --------------------------- > 2 files changed, 12 insertions(+), 29 deletions(-) > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > index 1070efce3f..1419eb4825 100644 > --- a/.gitlab-ci.yml > +++ b/.gitlab-ci.yml > @@ -433,13 +433,23 @@ build-some-softmmu-plugins: > TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu > MAKE_CHECK_ARGS: check-tcg > > -build-clang: > +clang-system: > <<: *native_build_job_definition > variables: > IMAGE: fedora > CONFIGURE_ARGS: --cc=clang --cxx=clang++ > + --extra-cflags=-fno-sanitize-recover=undefined > TARGETS: alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu > - ppc-softmmu s390x-softmmu arm-linux-user > + ppc-softmmu s390x-softmmu > + MAKE_CHECK_ARGS: check-qtest check-block check-tcg > + > +clang-user: > + <<: *native_build_job_definition > + variables: > + IMAGE: fedora > + CONFIGURE_ARGS: --cc=clang --cxx=clang++ --disable-system > + > --target-list-exclude=microblazeel-linux-user,aarch64-linux-user,armeb-linux-user,x86_64-linux-user,mipsn32el-linux-user,xtensa-linux-user > + --extra-cflags=-fno-sanitize-recover=undefined > MAKE_CHECK_ARGS: check Interesting choice of things to skip. I don't think we'll get much coverage though as check-tcg is about the only thing that exercises linux-user to any degree and you'll want to include arches the build system can build binaries for (arguably we should also update check-tcg to build for ^endian variants of the main targets). > > # These targets are on the way out > diff --git a/.travis.yml b/.travis.yml > index 05fa1ca905..533a60c130 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -138,33 +138,6 @@ jobs: > - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" > > > - # Test with Clang for compile portability (Travis uses clang-5.0) > - - name: "Clang (user)" > - env: > - - CONFIG="--disable-system --host-cc=clang --cxx=clang++" > - - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-default" > - compiler: clang > - > - > - - name: "Clang (main-softmmu)" > - env: > - - CONFIG="--target-list=${MAIN_SOFTMMU_TARGETS} > - --host-cc=clang --cxx=clang++" > - - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-sanitize" > - compiler: clang > - before_script: > - - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} > - - ${SRC_DIR}/configure ${CONFIG} > --extra-cflags="-fsanitize=undefined -Werror" || { cat config.log > meson-logs/meson-log.txt && exit 1; } > - > - > - - name: "Clang (other-softmmu)" > - env: > - - CONFIG="--disable-user > --target-list-exclude=${MAIN_SOFTMMU_TARGETS} > - --host-cc=clang --cxx=clang++" > - - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-default" > - compiler: clang > - > - > # Using newer GCC with sanitizers > - name: "GCC9 with sanitizers (softmmu)" > dist: bionic -- Alex Bennée