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 <thuth@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
# 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
--
2.27.0
Thomas Huth <thuth@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 <thuth@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
© 2016 - 2026 Red Hat, Inc.