diff options
-rw-r--r-- | .gitlab-ci.yml | 40 | ||||
-rw-r--r-- | .shippable.yml | 23 | ||||
-rw-r--r-- | .travis.yml | 113 | ||||
-rw-r--r-- | MAINTAINERS | 5 | ||||
-rw-r--r-- | docs/devel/loads-stores.rst | 14 | ||||
-rw-r--r-- | docs/devel/testing.rst | 14 | ||||
-rw-r--r-- | include/exec/cpu-all.h | 8 | ||||
-rw-r--r-- | include/exec/gdbstub.h | 20 | ||||
-rw-r--r-- | include/qemu/bswap.h | 60 | ||||
-rwxr-xr-x | scripts/ci/coverage-summary.sh (renamed from scripts/travis/coverage-summary.sh) | 2 | ||||
-rw-r--r-- | target/m68k/helper.c | 5 | ||||
-rw-r--r-- | target/ppc/gdbstub.c | 8 | ||||
-rw-r--r-- | target/ppc/translate_init.c.inc | 4 | ||||
-rw-r--r-- | target/sh4/gdbstub.c | 8 | ||||
-rw-r--r-- | tests/docker/Makefile.include | 11 | ||||
-rw-r--r-- | tests/docker/dockerfiles/travis.docker | 17 | ||||
-rw-r--r-- | tests/docker/dockerfiles/ubuntu2004.docker | 2 | ||||
-rwxr-xr-x | tests/docker/travis | 22 | ||||
-rwxr-xr-x | tests/docker/travis.py | 47 | ||||
-rw-r--r-- | tests/tcg/multiarch/system/Makefile.softmmu-target | 6 |
20 files changed, 66 insertions, 363 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 28a83afb91..7adb9a4cef 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -222,6 +222,7 @@ build-system-centos: variables: IMAGE: centos8 CONFIGURE_ARGS: --disable-nettle --enable-gcrypt --enable-fdt=system + --enable-modules TARGETS: ppc64-softmmu or1k-softmmu s390x-softmmu x86_64-softmmu rx-softmmu sh4-softmmu nios2-softmmu MAKE_CHECK_ARGS: check-build @@ -402,7 +403,7 @@ build-some-softmmu: <<: *native_build_job_definition variables: IMAGE: debian-all-test-cross - CONFIGURE_ARGS: --disable-tools --enable-debug-tcg + CONFIGURE_ARGS: --disable-tools --enable-debug TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu MAKE_CHECK_ARGS: check-tcg @@ -432,14 +433,33 @@ 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 + +tsan-build: + <<: *native_build_job_definition + variables: + IMAGE: ubuntu2004 + CONFIGURE_ARGS: --enable-tsan --cc=clang-10 --cxx=clang++-10 --disable-docs + --enable-fdt=system --enable-slirp=system + TARGETS: x86_64-softmmu ppc64-softmmu riscv64-softmmu x86_64-linux-user + MAKE_CHECK_ARGS: bench V=1 # These targets are on the way out build-deprecated: @@ -467,6 +487,18 @@ check-deprecated: MAKE_CHECK_ARGS: check-tcg allow_failure: true +# gprof/gcov are GCC features +gprof-gcov: + <<: *native_build_job_definition + variables: + IMAGE: ubuntu2004 + CONFIGURE_ARGS: --enable-gprof --enable-gcov + MAKE_CHECK_ARGS: check + TARGETS: aarch64-softmmu ppc64-softmmu s390x-softmmu x86_64-softmmu + timeout: 70m + after_script: + - ${CI_PROJECT_DIR}/scripts/ci/coverage-summary.sh + build-oss-fuzz: <<: *native_build_job_definition variables: diff --git a/.shippable.yml b/.shippable.yml deleted file mode 100644 index 97bfa2a0f3..0000000000 --- a/.shippable.yml +++ /dev/null @@ -1,23 +0,0 @@ -language: c -git: - submodules: false -env: - global: - - LC_ALL=C - matrix: - - IMAGE=debian-amd64 - TARGET_LIST=x86_64-softmmu,x86_64-linux-user - - IMAGE=debian-mips-cross - TARGET_LIST=mips-softmmu -build: - pre_ci_boot: - image_name: registry.gitlab.com/qemu-project/qemu/qemu/${IMAGE} - image_tag: latest - pull: true - options: "-e HOME=/root" - ci: - - unset CC - - mkdir build - - cd build - - ../configure --disable-docs ${QEMU_CONFIGURE_OPTS} --target-list=${TARGET_LIST} - - make -j$(($(getconf _NPROCESSORS_ONLN) + 1)) diff --git a/.travis.yml b/.travis.yml index 5f1dea873e..fc27fd6330 100644 --- a/.travis.yml +++ b/.travis.yml @@ -52,7 +52,6 @@ addons: - ninja-build - sparse - uuid-dev - - gcovr # Tests dependencies - genisoimage @@ -119,116 +118,6 @@ after_script: jobs: include: - # --enable-debug implies --enable-debug-tcg, also runs quite a bit slower - - name: "GCC debug (main-softmmu)" - env: - - CONFIG="--enable-debug --target-list=${MAIN_SOFTMMU_TARGETS}" - - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug" - - - # TCG debug can be run just on its own and is mostly agnostic to user/softmmu distinctions - - name: "GCC debug (user)" - env: - - CONFIG="--enable-debug-tcg --disable-system" - - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg" - - # Module builds are mostly of interest to major distros - - name: "GCC modules (main-softmmu)" - env: - - CONFIG="--enable-modules --target-list=${MAIN_SOFTMMU_TARGETS}" - - 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 - - - # gprof/gcov are GCC features - - name: "GCC gprof/gcov" - dist: bionic - addons: - apt: - packages: - - ninja-build - env: - - CONFIG="--enable-gprof --enable-gcov --disable-libssh - --target-list=${MAIN_SOFTMMU_TARGETS}" - after_success: - - ${SRC_DIR}/scripts/travis/coverage-summary.sh - - - # Using newer GCC with sanitizers - - name: "GCC9 with sanitizers (softmmu)" - dist: bionic - addons: - apt: - update: true - sources: - # PPAs for newer toolchains - - ubuntu-toolchain-r-test - packages: - # Extra toolchains - - gcc-9 - - g++-9 - # Build dependencies - - libaio-dev - - libattr1-dev - - libbrlapi-dev - - libcap-ng-dev - - libgnutls28-dev - - libgtk-3-dev - - libiscsi-dev - - liblttng-ust-dev - - libnfs-dev - - libncurses5-dev - - libnss3-dev - - libpixman-1-dev - - libpng-dev - - librados-dev - - libsdl2-dev - - libsdl2-image-dev - - libseccomp-dev - - libspice-protocol-dev - - libspice-server-dev - - liburcu-dev - - libusb-1.0-0-dev - - libvte-2.91-dev - - ninja-build - - sparse - - uuid-dev - language: generic - compiler: none - env: - - COMPILER_NAME=gcc CXX=g++-9 CC=gcc-9 - - CONFIG="--cc=gcc-9 --cxx=g++-9 --disable-linux-user" - - TEST_CMD="" - before_script: - - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} - - ${SRC_DIR}/configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread" || { cat config.log meson-logs/meson-log.txt && exit 1; } - - name: "[aarch64] GCC check-tcg" arch: arm64 @@ -261,7 +150,7 @@ jobs: - genisoimage env: - TEST_CMD="make check check-tcg V=1" - - CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS}" + - CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS} --cxx=/bin/false" - UNRELIABLE=true - name: "[ppc64] GCC check-tcg" diff --git a/MAINTAINERS b/MAINTAINERS index de5fe1c65f..8201f12271 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2340,6 +2340,7 @@ M: Alex Bennée <alex.bennee@linaro.org> R: Philippe Mathieu-Daudé <philmd@redhat.com> S: Maintained F: gdbstub* +F: include/exec/gdbstub.h F: gdb-xml/ F: tests/tcg/multiarch/gdbstub/ @@ -3235,13 +3236,11 @@ R: Philippe Mathieu-Daudé <philmd@redhat.com> S: Maintained F: .github/lockdown.yml F: .travis.yml -F: scripts/travis/ -F: .shippable.yml +F: scripts/ci/ F: tests/docker/ F: tests/vm/ F: scripts/archive-source.sh W: https://travis-ci.org/qemu/qemu -W: https://app.shippable.com/github/qemu/qemu W: http://patchew.org/QEMU/ FreeBSD Hosted Continuous Integration diff --git a/docs/devel/loads-stores.rst b/docs/devel/loads-stores.rst index ee43f5dfee..568274baec 100644 --- a/docs/devel/loads-stores.rst +++ b/docs/devel/loads-stores.rst @@ -24,16 +24,12 @@ potentially unaligned pointer values. Function names follow the pattern: -load: ``ld{type}{sign}{size}_{endian}_p(ptr)`` +load: ``ld{sign}{size}_{endian}_p(ptr)`` -store: ``st{type}{size}_{endian}_p(ptr, val)`` - -``type`` - - (empty) : integer access - - ``f`` : float access +store: ``st{size}_{endian}_p(ptr, val)`` ``sign`` - - (empty) : for 32 or 64 bit sizes (including floats and doubles) + - (empty) : for 32 or 64 bit sizes - ``u`` : unsigned - ``s`` : signed @@ -67,8 +63,8 @@ of size ``sz`` bytes. Regexes for git grep - - ``\<ldf\?[us]\?[bwlq]\(_[hbl]e\)\?_p\>`` - - ``\<stf\?[bwlq]\(_[hbl]e\)\?_p\>`` + - ``\<ld[us]\?[bwlq]\(_[hbl]e\)\?_p\>`` + - ``\<st[bwlq]\(_[hbl]e\)\?_p\>`` - ``\<ldn_\([hbl]e\)?_p\>`` - ``\<stn_\([hbl]e\)?_p\>`` diff --git a/docs/devel/testing.rst b/docs/devel/testing.rst index 209f9d8172..00ce16de48 100644 --- a/docs/devel/testing.rst +++ b/docs/devel/testing.rst @@ -357,20 +357,6 @@ source and build it. The full list of tests is printed in the ``make docker`` help. -Tools ------ - -There are executables that are created to run in a specific Docker environment. -This makes it easy to write scripts that have heavy or special dependencies, -but are still very easy to use. - -Currently the only tool is ``travis``, which mimics the Travis-CI tests in a -container. It runs in the ``travis`` image: - -.. code:: - - make docker-travis@travis - Debugging a Docker test failure ------------------------------- diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h index cfb1d79331..babf0a8959 100644 --- a/include/exec/cpu-all.h +++ b/include/exec/cpu-all.h @@ -125,13 +125,9 @@ static inline void tswap64s(uint64_t *s) #define ldsw_p(p) ldsw_be_p(p) #define ldl_p(p) ldl_be_p(p) #define ldq_p(p) ldq_be_p(p) -#define ldfl_p(p) ldfl_be_p(p) -#define ldfq_p(p) ldfq_be_p(p) #define stw_p(p, v) stw_be_p(p, v) #define stl_p(p, v) stl_be_p(p, v) #define stq_p(p, v) stq_be_p(p, v) -#define stfl_p(p, v) stfl_be_p(p, v) -#define stfq_p(p, v) stfq_be_p(p, v) #define ldn_p(p, sz) ldn_be_p(p, sz) #define stn_p(p, sz, v) stn_be_p(p, sz, v) #else @@ -139,13 +135,9 @@ static inline void tswap64s(uint64_t *s) #define ldsw_p(p) ldsw_le_p(p) #define ldl_p(p) ldl_le_p(p) #define ldq_p(p) ldq_le_p(p) -#define ldfl_p(p) ldfl_le_p(p) -#define ldfq_p(p) ldfq_le_p(p) #define stw_p(p, v) stw_le_p(p, v) #define stl_p(p, v) stl_le_p(p, v) #define stq_p(p, v) stq_le_p(p, v) -#define stfl_p(p, v) stfl_le_p(p, v) -#define stfq_p(p, v) stfq_le_p(p, v) #define ldn_p(p, sz) ldn_le_p(p, sz) #define stn_p(p, sz, v) stn_le_p(p, sz, v) #endif diff --git a/include/exec/gdbstub.h b/include/exec/gdbstub.h index ff0b7bc45e..a024a0350d 100644 --- a/include/exec/gdbstub.h +++ b/include/exec/gdbstub.h @@ -135,26 +135,6 @@ static inline int gdb_get_reg128(GByteArray *buf, uint64_t val_hi, return 16; } -static inline int gdb_get_float32(GByteArray *array, float32 val) -{ - uint8_t buf[sizeof(CPU_FloatU)]; - - stfl_p(buf, val); - g_byte_array_append(array, buf, sizeof(buf)); - - return sizeof(buf); -} - -static inline int gdb_get_float64(GByteArray *array, float64 val) -{ - uint8_t buf[sizeof(CPU_DoubleU)]; - - stfq_p(buf, val); - g_byte_array_append(array, buf, sizeof(buf)); - - return sizeof(buf); -} - static inline int gdb_get_zeroes(GByteArray *array, size_t len) { guint oldlen = array->len; diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h index 8b01c38040..4aaf992b5d 100644 --- a/include/qemu/bswap.h +++ b/include/qemu/bswap.h @@ -400,36 +400,6 @@ static inline void stq_le_p(void *ptr, uint64_t v) stq_he_p(ptr, le_bswap(v, 64)); } -/* float access */ - -static inline float32 ldfl_le_p(const void *ptr) -{ - CPU_FloatU u; - u.l = ldl_le_p(ptr); - return u.f; -} - -static inline void stfl_le_p(void *ptr, float32 v) -{ - CPU_FloatU u; - u.f = v; - stl_le_p(ptr, u.l); -} - -static inline float64 ldfq_le_p(const void *ptr) -{ - CPU_DoubleU u; - u.ll = ldq_le_p(ptr); - return u.d; -} - -static inline void stfq_le_p(void *ptr, float64 v) -{ - CPU_DoubleU u; - u.d = v; - stq_le_p(ptr, u.ll); -} - static inline int lduw_be_p(const void *ptr) { return (uint16_t)be_bswap(lduw_he_p(ptr), 16); @@ -465,36 +435,6 @@ static inline void stq_be_p(void *ptr, uint64_t v) stq_he_p(ptr, be_bswap(v, 64)); } -/* float access */ - -static inline float32 ldfl_be_p(const void *ptr) -{ - CPU_FloatU u; - u.l = ldl_be_p(ptr); - return u.f; -} - -static inline void stfl_be_p(void *ptr, float32 v) -{ - CPU_FloatU u; - u.f = v; - stl_be_p(ptr, u.l); -} - -static inline float64 ldfq_be_p(const void *ptr) -{ - CPU_DoubleU u; - u.ll = ldq_be_p(ptr); - return u.d; -} - -static inline void stfq_be_p(void *ptr, float64 v) -{ - CPU_DoubleU u; - u.d = v; - stq_be_p(ptr, u.ll); -} - static inline unsigned long leul_to_cpu(unsigned long v) { #if HOST_LONG_BITS == 32 diff --git a/scripts/travis/coverage-summary.sh b/scripts/ci/coverage-summary.sh index d7086cf9ca..8d9fb4de40 100755 --- a/scripts/travis/coverage-summary.sh +++ b/scripts/ci/coverage-summary.sh @@ -3,7 +3,7 @@ # Author: Alex Bennée <alex.bennee@linaro.org> # # Summerise the state of code coverage with gcovr and tweak the output -# to be more sane on Travis hosts. As we expect to be executed on a +# to be more sane on CI runner. As we expect to be executed on a # throw away CI instance we do spam temp files all over the shop. You # most likely don't want to execute this script but just call gcovr # directly. See also "make coverage-report" diff --git a/target/m68k/helper.c b/target/m68k/helper.c index 4185ca94ce..137a3e1a3d 100644 --- a/target/m68k/helper.c +++ b/target/m68k/helper.c @@ -72,8 +72,7 @@ static int cf_fpu_gdb_get_reg(CPUM68KState *env, GByteArray *mem_buf, int n) { if (n < 8) { float_status s; - return gdb_get_float64(mem_buf, - floatx80_to_float64(env->fregs[n].d, &s)); + return gdb_get_reg64(mem_buf, floatx80_to_float64(env->fregs[n].d, &s)); } switch (n) { case 8: /* fpcontrol */ @@ -90,7 +89,7 @@ static int cf_fpu_gdb_set_reg(CPUM68KState *env, uint8_t *mem_buf, int n) { if (n < 8) { float_status s; - env->fregs[n].d = float64_to_floatx80(ldfq_p(mem_buf), &s); + env->fregs[n].d = float64_to_floatx80(ldq_p(mem_buf), &s); return 8; } switch (n) { diff --git a/target/ppc/gdbstub.c b/target/ppc/gdbstub.c index 01459dd31d..c28319fb97 100644 --- a/target/ppc/gdbstub.c +++ b/target/ppc/gdbstub.c @@ -130,7 +130,7 @@ int ppc_cpu_gdb_read_register(CPUState *cs, GByteArray *buf, int n) gdb_get_regl(buf, env->gpr[n]); } else if (n < 64) { /* fprs */ - gdb_get_float64(buf, *cpu_fpr_ptr(env, n - 32)); + gdb_get_reg64(buf, *cpu_fpr_ptr(env, n - 32)); } else { switch (n) { case 64: @@ -184,7 +184,7 @@ int ppc_cpu_gdb_read_register_apple(CPUState *cs, GByteArray *buf, int n) gdb_get_reg64(buf, env->gpr[n]); } else if (n < 64) { /* fprs */ - gdb_get_float64(buf, *cpu_fpr_ptr(env, n - 32)); + gdb_get_reg64(buf, *cpu_fpr_ptr(env, n - 32)); } else if (n < 96) { /* Altivec */ gdb_get_reg64(buf, n - 64); @@ -241,7 +241,7 @@ int ppc_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n) env->gpr[n] = ldtul_p(mem_buf); } else if (n < 64) { /* fprs */ - *cpu_fpr_ptr(env, n - 32) = ldfq_p(mem_buf); + *cpu_fpr_ptr(env, n - 32) = ldq_p(mem_buf); } else { switch (n) { case 64: @@ -291,7 +291,7 @@ int ppc_cpu_gdb_write_register_apple(CPUState *cs, uint8_t *mem_buf, int n) env->gpr[n] = ldq_p(mem_buf); } else if (n < 64) { /* fprs */ - *cpu_fpr_ptr(env, n - 32) = ldfq_p(mem_buf); + *cpu_fpr_ptr(env, n - 32) = ldq_p(mem_buf); } else { switch (n) { case 64 + 32: diff --git a/target/ppc/translate_init.c.inc b/target/ppc/translate_init.c.inc index 3ec45cbc19..e7324e85cd 100644 --- a/target/ppc/translate_init.c.inc +++ b/target/ppc/translate_init.c.inc @@ -9923,7 +9923,7 @@ static int gdb_get_float_reg(CPUPPCState *env, GByteArray *buf, int n) { uint8_t *mem_buf; if (n < 32) { - gdb_get_float64(buf, *cpu_fpr_ptr(env, n)); + gdb_get_reg64(buf, *cpu_fpr_ptr(env, n)); mem_buf = gdb_get_reg_ptr(buf, 8); ppc_maybe_bswap_register(env, mem_buf, 8); return 8; @@ -9941,7 +9941,7 @@ static int gdb_set_float_reg(CPUPPCState *env, uint8_t *mem_buf, int n) { if (n < 32) { ppc_maybe_bswap_register(env, mem_buf, 8); - *cpu_fpr_ptr(env, n) = ldfq_p(mem_buf); + *cpu_fpr_ptr(env, n) = ldq_p(mem_buf); return 8; } if (n == 32) { diff --git a/target/sh4/gdbstub.c b/target/sh4/gdbstub.c index 34ad3ca050..3488f68e32 100644 --- a/target/sh4/gdbstub.c +++ b/target/sh4/gdbstub.c @@ -58,9 +58,9 @@ int superh_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n) return gdb_get_regl(mem_buf, env->fpscr); case 25 ... 40: if (env->fpscr & FPSCR_FR) { - return gdb_get_float32(mem_buf, env->fregs[n - 9]); + return gdb_get_reg32(mem_buf, env->fregs[n - 9]); } - return gdb_get_float32(mem_buf, env->fregs[n - 25]); + return gdb_get_reg32(mem_buf, env->fregs[n - 25]); case 41: return gdb_get_regl(mem_buf, env->ssr); case 42: @@ -119,9 +119,9 @@ int superh_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n) break; case 25 ... 40: if (env->fpscr & FPSCR_FR) { - env->fregs[n - 9] = ldfl_p(mem_buf); + env->fregs[n - 9] = ldl_p(mem_buf); } else { - env->fregs[n - 25] = ldfl_p(mem_buf); + env->fregs[n - 25] = ldl_p(mem_buf); } break; case 41: diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index 93b29ad823..7cab761bf5 100644 --- a/tests/docker/Makefile.include +++ b/tests/docker/Makefile.include @@ -21,8 +21,6 @@ DOCKER_REGISTRY := $(if $(REGISTRY),$(REGISTRY),registry.gitlab.com/qemu-project DOCKER_TESTS := $(notdir $(shell \ find $(SRC_PATH)/tests/docker/ -name 'test-*' -type f)) -DOCKER_TOOLS := travis - ENGINE := auto DOCKER_SCRIPT=$(SRC_PATH)/tests/docker/docker.py --engine $(ENGINE) @@ -126,7 +124,7 @@ ifneq ($(HOST_ARCH),x86_64) DOCKER_PARTIAL_IMAGES += debian-mips-cross debian-mipsel-cross debian-mips64el-cross DOCKER_PARTIAL_IMAGES += debian-ppc64el-cross DOCKER_PARTIAL_IMAGES += debian-s390x-cross -DOCKER_PARTIAL_IMAGES += fedora travis +DOCKER_PARTIAL_IMAGES += fedora endif docker-image-debian-alpha-cross: docker-image-debian10 @@ -147,8 +145,6 @@ docker-image-debian-s390x-cross: docker-image-debian10 docker-image-debian-sh4-cross: docker-image-debian10 docker-image-debian-sparc64-cross: docker-image-debian10 -docker-image-travis: NOUSER=1 - # Specialist build images, sometimes very limited tools docker-image-debian-tricore-cross: docker-image-debian10 docker-image-debian-all-test-cross: docker-image-debian10 @@ -174,7 +170,7 @@ DOCKER_PARTIAL_IMAGES += fedora-i386-cross fedora-cris-cross # Expand all the pre-requistes for each docker image and test combination $(foreach i,$(filter-out $(DOCKER_PARTIAL_IMAGES),$(DOCKER_IMAGES)), \ - $(foreach t,$(DOCKER_TESTS) $(DOCKER_TOOLS), \ + $(foreach t,$(DOCKER_TESTS), \ $(eval .PHONY: docker-$t@$i) \ $(eval docker-$t@$i: docker-image-$i docker-run-$t@$i) \ ) \ @@ -212,9 +208,6 @@ endif @echo 'Available tests:' @echo ' $(DOCKER_TESTS)' @echo - @echo 'Available tools:' - @echo ' $(DOCKER_TOOLS)' - @echo @echo 'Special variables:' @echo ' TARGET_LIST=a,b,c Override target list in builds.' @echo ' EXTRA_CONFIGURE_OPTS="..."' diff --git a/tests/docker/dockerfiles/travis.docker b/tests/docker/dockerfiles/travis.docker deleted file mode 100644 index cd1435a7e9..0000000000 --- a/tests/docker/dockerfiles/travis.docker +++ /dev/null @@ -1,17 +0,0 @@ -# -# Travis Image - this is broadly the same image that we run our CI -# tests on. -# -FROM travisci/ci-sardonyx:packer-1552557266-f909ac5 -ENV DEBIAN_FRONTEND noninteractive -ENV LANG en_US.UTF-8 -ENV LC_ALL en_US.UTF-8 -RUN sed -i "s/# deb-src/deb-src/" /etc/apt/sources.list -RUN apt-get update -RUN apt-get -y build-dep qemu -RUN apt-get -y install device-tree-compiler python3 python3-yaml dh-autoreconf gdb strace lsof net-tools gcovr ninja-build -# Travis tools require PhantomJS / Neo4j / Maven accessible -# in their PATH (QEMU build won't access them). -ENV PATH /usr/local/phantomjs/bin:/usr/local/phantomjs:/usr/local/neo4j-3.2.7/bin:/usr/local/maven-3.5.2/bin:/usr/local/cmake-3.9.2/bin:/usr/local/clang-5.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -ENV FEATURES clang pyyaml docs -USER travis diff --git a/tests/docker/dockerfiles/ubuntu2004.docker b/tests/docker/dockerfiles/ubuntu2004.docker index 8519584d2b..9750016e51 100644 --- a/tests/docker/dockerfiles/ubuntu2004.docker +++ b/tests/docker/dockerfiles/ubuntu2004.docker @@ -1,8 +1,10 @@ FROM ubuntu:20.04 ENV PACKAGES flex bison \ + bsdmainutils \ ccache \ clang-10\ gcc \ + gcovr \ genisoimage \ gettext \ git \ diff --git a/tests/docker/travis b/tests/docker/travis deleted file mode 100755 index 47c03677d6..0000000000 --- a/tests/docker/travis +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -e -# -# Mimic a travis testing matrix -# -# Copyright (c) 2016 Red Hat Inc. -# -# Authors: -# Fam Zheng <famz@redhat.com> -# -# This work is licensed under the terms of the GNU GPL, version 2 -# or (at your option) any later version. See the COPYING file in -# the top-level directory. - -. common.rc - -requires pyyaml -cmdfile=/tmp/travis_cmd_list.sh -$QEMU_SRC/tests/docker/travis.py $QEMU_SRC/.travis.yml > $cmdfile -chmod +x $cmdfile -cd "$QEMU_SRC" -unset BUILD_DIR SRC_DIR -$cmdfile diff --git a/tests/docker/travis.py b/tests/docker/travis.py deleted file mode 100755 index 37307ac366..0000000000 --- a/tests/docker/travis.py +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env python3 -# -# Travis YAML config parser -# -# Copyright (c) 2016 Red Hat Inc. -# -# Authors: -# Fam Zheng <famz@redhat.com> -# -# This work is licensed under the terms of the GNU GPL, version 2 -# or (at your option) any later version. See the COPYING file in -# the top-level directory. - -import sys -import yaml -import itertools - -def load_yaml(fname): - return yaml.safe_load(open(fname, "r").read()) - -def conf_iter(conf): - # If "compiler" is omitted from the included env then Travis picks the - # first entry of the global compiler list. - default_compiler = conf["compiler"][0] - def env_to_list(env): - return env if isinstance(env, list) else [env] - for entry in conf["matrix"]["include"]: - yield {"env": env_to_list(entry["env"]), - "compiler": entry.get("compiler", default_compiler)} - -def main(): - if len(sys.argv) < 2: - sys.stderr.write("Usage: %s <travis-file>\n" % sys.argv[0]) - return 1 - conf = load_yaml(sys.argv[1]) - print("\n".join((": ${%s}" % var for var in conf["env"]["global"]))) - for config in conf_iter(conf): - print("(") - print("\n".join(config["env"])) - print("alias cc=" + config["compiler"]) - print("\n".join(conf["before_script"])) - print("\n".join(conf["script"])) - print(")") - return 0 - -if __name__ == "__main__": - sys.exit(main()) diff --git a/tests/tcg/multiarch/system/Makefile.softmmu-target b/tests/tcg/multiarch/system/Makefile.softmmu-target index 4657f6e4cf..625ed792c6 100644 --- a/tests/tcg/multiarch/system/Makefile.softmmu-target +++ b/tests/tcg/multiarch/system/Makefile.softmmu-target @@ -27,5 +27,9 @@ run-gdbstub-memory: memory --bin $< --test $(MULTIARCH_SRC)/gdbstub/memory.py, \ "softmmu gdbstub support") -MULTIARCH_RUNS += run-gdbstub-memory +else +run-gdbstub-%: + $(call skip-test, "gdbstub test $*", "need working gdb") endif + +MULTIARCH_RUNS += run-gdbstub-memory |