travis.yml: Move the -fsanitize=undefined test to the gitlab-CI

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>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20210211045455.456371-3-thuth@redhat.com>
Message-Id: <20210211122750.22645-3-alex.bennee@linaro.org>
master
Thomas Huth 2021-02-11 12:27:37 +00:00 committed by Alex Bennée
parent 04250c69bc
commit c2b33c43fd
2 changed files with 13 additions and 30 deletions

View File

@ -432,14 +432,24 @@ 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=-fsanitize=undefined --extra-cflags=-fno-sanitize-recover=undefined
TARGETS: alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu
ppc-softmmu s390x-softmmu arm-linux-user
MAKE_CHECK_ARGS: check
ppc-softmmu s390x-softmmu
MAKE_CHECK_ARGS: check-qtest check-tcg
clang-user:
<<: *native_build_job_definition
variables:
IMAGE: debian-all-test-cross
CONFIGURE_ARGS: --cc=clang --cxx=clang++ --disable-system
--target-list-exclude=microblazeel-linux-user,aarch64_be-linux-user,i386-linux-user,m68k-linux-user,mipsn32el-linux-user,xtensaeb-linux-user
--extra-cflags=-fsanitize=undefined --extra-cflags=-fno-sanitize-recover=undefined
MAKE_CHECK_ARGS: check-unit check-tcg
# These targets are on the way out
build-deprecated:

View File

@ -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