[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 00/43] fix building of tests/tcg
From: |
Alex Bennée |
Subject: |
[Qemu-devel] [PATCH v2 00/43] fix building of tests/tcg |
Date: |
Thu, 19 Apr 2018 14:58:18 +0100 |
Hi,
This is the second revision of my attempt to revive the tests/tcg
directory. You can find the first iteration here:
https://lists.gnu.org/archive/html/qemu-devel/2018-04/msg01361.html
Changes:
I've slightly re-jigged the Makefile inclusion to make
tests/tcg/Makefile very simple. All the TESTS are added by the various
sub-makes. I've also included
tests/tcg/$(TARGET_BASE_ARCH)/Makefile.target so common base
architectures can include tests. See MIPS for an example.
Missing Targets:
We still have quite a bit of test code that is not built. These are:
* tests/tcg/mips/mip[32|64]-dsp[r]
A bunch of system tests. Also we have no mips64 BE support.
* tests/tcg/alpha
Need a cross-compiler
* tests/tcg/cris
Needs a cross-compiler
* tests/tcg/lm32
Needs a cross-compiler
* tests/tcg/openrisc
Needs a cross-compiler
* tests/tcg/xtensa
Needs a cross-compiler
We should be able to build basic multiarch tests for a bunch of
additional linux-user targets. A bunch of our LE target compilers
should be able to build BE but I ran into troubles of an incomplete
glibc-dev assuming it's not needed. Apparently a newlib based
cross-compiler would fix this as it has both LE and BE headers
available.
I did start playing with crosstool-ng and Linaro's own ABE scripts but
realised this could end up a massive time sync. What would be really
helpful is if the respective maintainers could encode their EXACT
STEPS for building their cross compilers into some docker recipes.
Missing Cross Compilers:
aarch64_be alpha armeb cris hppa m68k microblaze microblazeel mips64
mipsn32 mipsn32el nios2 or1k ppc ppc64abi32 riscv32 riscv64 sh4
sh4eb sparc sparc32plus sparc64 tilegx xtensa xtensaeb
Finally the end of the series has me adding Emilio's fp-test to the
per-target builds. Unfortunately although some osdep.h and softfloat.c
fiddling allows us to build in most cases I still can't build for
example an i386 fp-test on an x86_64 host using the cross compiler as
it triggers incompatibilities with config-host.h - in this case Int128
support. Currently I just hackily disable fp-test for non-64 bit
platforms.
While the later patches in the series are a bit of a WIP the earlier
patches are certainly deserving of review. Currently the un-reviewed
patches are:
patch 0001/docker add probe command for configure.patch needs review
patch 0002/configure add test for docker availability.patch needs review
patch 0003/configure add support for cross cc FOO.patch needs review
patch 0004/configure move i386_cc to cross_cc_i386.patch needs review
patch 0005/configure allow user to specify cross cc cflags f.patch needs
review
patch 0006/configure set cross_cc_FOO for host compiler.patch needs review
patch 0009/docker extend cc command to accept compiler.patch needs review
patch 0014/tests tcg multiarch enable additional linux test .patch needs
review
patch 0016/docker Add fedora i386 cross image.patch needs review
patch 0017/tests tcg enable building for i386.patch needs review
patch 0020/tests tcg i386 fix test i386 fprem.patch needs review
patch 0021/tests tcg i386 disable i386 version of test i386 .patch needs
review
patch 0022/tests tcg x86_64 add Makefile.target.patch needs review
patch 0023/tests tcg i386 test i386 use modern vector_size a.patch needs
review
patch 0024/tests tcg i386 test i386 fix printf format.patch needs review
patch 0026/tests tcg arm fix up test arm iwmmxt test.patch needs review
patch 0027/tests tcg aarch64 add Makefile.target.patch needs review
patch 0028/tests tcg aarch64 add fcvt test cases for AArch64.patch needs
review
patch 0029/tests tcg aarch64 userspace system register test.patch needs review
patch 0031/tests tcg enable building for MIPS.patch needs review
patch 0032/tests tcg mips include common mips hello mips.patch needs review
patch 0035/tests tcg Makefile update to be called from Makef.patch needs
review
patch 0036/Makefile.target add clean guest tests targets.patch needs review
patch 0038/osdep disable glib compat.h include with QEMU_NO_.patch needs
review
patch 0039/softfloat do not include glib headers.patch needs review
patch 0040/tests add fp test a floating point test suite.patch needs review
patch 0041/tests tcg multiarch add fp test into multiarch se.patch needs
review
I've merged a few patches but I've kept the review tags so far. As
usual there are comments bellow the --- for any changes.
Alex Bennée (35):
configure: add test for docker availability
configure: add support for --cross-cc-FOO
configure: move i386_cc to cross_cc_i386
configure: allow user to specify --cross-cc-cflags-foo=
configure: set cross_cc_FOO for host compiler
docker: Add "cc" subcommand
docker: extend "cc" command to accept compiler
docker: allow "cc" command to run in user context
docker: Makefile.include introduce DOCKER_SCRIPT
tests/tcg: move architecture independent tests into subdir
tests/tcg/multiarch: enable additional linux-test tests
tests/tcg: move i386 specific tests into subdir
tests/tcg: enable building for i386
tests/tcg/i386: fix test-i386
tests/tcg/i386: fix test-i386-fprem
tests/tcg/i386: disable i386 version of test-i386-ssse
tests/tcg/x86_64: add Makefile.target
tests/tcg/i386/test-i386: use modern vector_size attributes
tests/tcg/i386/test-i386: fix printf format
tests/tcg: move ARM specific tests into subdir
tests/tcg/arm: fix up test-arm-iwmmxt test
tests/tcg/aarch64: add Makefile.target
tests/tcg/aarch64: add fcvt test cases for AArch64
tests/tcg/aarch64: userspace system register test
tests/tcg: move MIPS specific tests into subdir
tests/tcg: enable building for MIPS
tests/tcg/mips: include common mips hello-mips
tests/tcg: enable building for s390x
tests/tcg: enable building for ppc64
tests/tcg/Makefile: update to be called from Makefile.target
Makefile.target: add (clean-)guest-tests targets
tests/Makefile.include: add (clean-)check-tcg targets
tests/tcg/multiarch: add fp-test into multiarch set
tests/tcg: disable fp-test for 32 bit (HACK!)
tests: fp-test add fcvt support (!INCOMPLETE WIP)
Emilio G. Cota (3):
osdep: disable glib-compat.h include with QEMU_NO_GLIB
softfloat: do not include glib headers
tests: add fp-test, a floating point test suite
Fam Zheng (4):
Makefile: Rename TARGET_DIRS to TARGET_LIST
tests/tcg/multiarch: Build fix for linux-test
docker: Add fedora-i386-cross image
tests/tcg/i386: Build fix for hello-i386
Peter Maydell (1):
docker: add "probe" command for configure
Makefile | 20 +-
Makefile.target | 5 +
configure | 111 +-
fpu/softfloat.c | 4 +
include/qemu/osdep.h | 2 +
scripts/create_config | 2 +-
tests/Makefile.include | 24 +-
tests/docker/Makefile.include | 10 +-
tests/docker/docker.py | 49 +
.../dockerfiles/fedora-i386-cross.docker | 14 +
tests/fp/.gitignore | 3 +
tests/fp/Makefile | 34 +
tests/fp/fp-test.c | 1582 +++++++++++++++++
tests/fp/qemu/regression-tests.fptest | 7 +
tests/tcg/Makefile | 184 +-
tests/tcg/Makefile.include | 76 +
tests/tcg/README | 69 +-
tests/tcg/aarch64/Makefile.target | 13 +
tests/tcg/aarch64/fcvt.c | 260 +++
tests/tcg/aarch64/fcvt.out | 1305 ++++++++++++++
tests/tcg/aarch64/sysregs.c | 14 +
tests/tcg/arm/Makefile.target | 20 +
tests/tcg/arm/README | 11 +
tests/tcg/{ => arm}/hello-arm.c | 0
.../test-arm-iwmmxt.S} | 0
tests/tcg/i386/Makefile.include | 9 +
tests/tcg/i386/Makefile.target | 30 +
tests/tcg/i386/README | 38 +
tests/tcg/{ => i386}/hello-i386.c | 1 +
tests/tcg/{ => i386}/pi_10.com | Bin
tests/tcg/{ => i386}/runcom.c | 0
tests/tcg/{ => i386}/test-i386-code16.S | 0
tests/tcg/{ => i386}/test-i386-fprem.c | 12 +-
tests/tcg/{ => i386}/test-i386-muldiv.h | 0
tests/tcg/{ => i386}/test-i386-shift.h | 0
tests/tcg/{ => i386}/test-i386-ssse3.c | 0
tests/tcg/{ => i386}/test-i386-vm86.S | 0
tests/tcg/{ => i386}/test-i386.c | 7 +-
tests/tcg/{ => i386}/test-i386.h | 0
tests/tcg/mips/Makefile.include | 17 +
tests/tcg/mips/Makefile.target | 19 +
tests/tcg/mips/README | 7 +
tests/tcg/{ => mips}/hello-mips.c | 0
tests/tcg/multiarch/Makefile.target | 50 +
tests/tcg/multiarch/README | 1 +
tests/tcg/{ => multiarch}/linux-test.c | 82 +-
tests/tcg/{ => multiarch}/sha1.c | 0
tests/tcg/{ => multiarch}/test-mmap.c | 0
tests/tcg/{ => multiarch}/testthread.c | 0
tests/tcg/ppc64le/Makefile.include | 2 +
tests/tcg/s390x/Makefile.include | 2 +
tests/tcg/test_path.c | 157 --
tests/tcg/x86_64/Makefile.target | 15 +
53 files changed, 3814 insertions(+), 454 deletions(-)
create mode 100644 tests/docker/dockerfiles/fedora-i386-cross.docker
create mode 100644 tests/fp/.gitignore
create mode 100644 tests/fp/Makefile
create mode 100644 tests/fp/fp-test.c
create mode 100644 tests/fp/qemu/regression-tests.fptest
create mode 100644 tests/tcg/Makefile.include
create mode 100644 tests/tcg/aarch64/Makefile.target
create mode 100644 tests/tcg/aarch64/fcvt.c
create mode 100644 tests/tcg/aarch64/fcvt.out
create mode 100644 tests/tcg/aarch64/sysregs.c
create mode 100644 tests/tcg/arm/Makefile.target
create mode 100644 tests/tcg/arm/README
rename tests/tcg/{ => arm}/hello-arm.c (100%)
rename tests/tcg/{test-arm-iwmmxt.s => arm/test-arm-iwmmxt.S} (100%)
create mode 100644 tests/tcg/i386/Makefile.include
create mode 100644 tests/tcg/i386/Makefile.target
create mode 100644 tests/tcg/i386/README
rename tests/tcg/{ => i386}/hello-i386.c (96%)
rename tests/tcg/{ => i386}/pi_10.com (100%)
rename tests/tcg/{ => i386}/runcom.c (100%)
rename tests/tcg/{ => i386}/test-i386-code16.S (100%)
rename tests/tcg/{ => i386}/test-i386-fprem.c (97%)
rename tests/tcg/{ => i386}/test-i386-muldiv.h (100%)
rename tests/tcg/{ => i386}/test-i386-shift.h (100%)
rename tests/tcg/{ => i386}/test-i386-ssse3.c (100%)
rename tests/tcg/{ => i386}/test-i386-vm86.S (100%)
rename tests/tcg/{ => i386}/test-i386.c (99%)
rename tests/tcg/{ => i386}/test-i386.h (100%)
create mode 100644 tests/tcg/mips/Makefile.include
create mode 100644 tests/tcg/mips/Makefile.target
create mode 100644 tests/tcg/mips/README
rename tests/tcg/{ => mips}/hello-mips.c (100%)
create mode 100644 tests/tcg/multiarch/Makefile.target
create mode 100644 tests/tcg/multiarch/README
rename tests/tcg/{ => multiarch}/linux-test.c (89%)
rename tests/tcg/{ => multiarch}/sha1.c (100%)
rename tests/tcg/{ => multiarch}/test-mmap.c (100%)
rename tests/tcg/{ => multiarch}/testthread.c (100%)
create mode 100644 tests/tcg/ppc64le/Makefile.include
create mode 100644 tests/tcg/s390x/Makefile.include
delete mode 100644 tests/tcg/test_path.c
create mode 100644 tests/tcg/x86_64/Makefile.target
--
2.17.0
- [Qemu-devel] [PATCH v2 00/43] fix building of tests/tcg,
Alex Bennée <=