From: "Alex Bennée" <alex.bennee@linaro.org>
To: peter.maydell@linaro.org, cota@braap.org, famz@redhat.com,
berrange@redhat.com, f4bug@amsat.org,
richard.henderson@linaro.org, balrogg@gmail.com,
aurelien@aurel32.net, agraf@suse.de
Cc: qemu-devel@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>
Subject: [Qemu-devel] [PATCH v2 00/43] fix building of tests/tcg
Date: Thu, 19 Apr 2018 14:58:18 +0100 [thread overview]
Message-ID: <20180419135901.30035-1-alex.bennee@linaro.org> (raw)
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
next reply other threads:[~2018-04-19 13:59 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-19 13:58 Alex Bennée [this message]
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 01/43] docker: add "probe" command for configure Alex Bennée
2018-04-20 2:08 ` Fam Zheng
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 02/43] configure: add test for docker availability Alex Bennée
2018-04-19 20:49 ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 03/43] configure: add support for --cross-cc-FOO Alex Bennée
2018-04-19 20:20 ` Richard Henderson
2018-04-19 20:41 ` Richard Henderson
2018-04-19 20:47 ` Richard Henderson
2018-04-19 21:36 ` Eric Blake
2018-04-19 21:41 ` Eric Blake
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 04/43] configure: move i386_cc to cross_cc_i386 Alex Bennée
2018-04-19 20:59 ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 05/43] configure: allow user to specify --cross-cc-cflags-foo= Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 06/43] configure: set cross_cc_FOO for host compiler Alex Bennée
2018-04-19 21:04 ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 07/43] Makefile: Rename TARGET_DIRS to TARGET_LIST Alex Bennée
2018-04-19 21:05 ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 08/43] docker: Add "cc" subcommand Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 09/43] docker: extend "cc" command to accept compiler Alex Bennée
2018-04-20 2:06 ` Fam Zheng
2018-04-20 2:43 ` Philippe Mathieu-Daudé
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 10/43] docker: allow "cc" command to run in user context Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 11/43] docker: Makefile.include introduce DOCKER_SCRIPT Alex Bennée
2018-04-19 21:08 ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 12/43] tests/tcg: move architecture independent tests into subdir Alex Bennée
2018-04-19 21:20 ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 13/43] tests/tcg/multiarch: Build fix for linux-test Alex Bennée
2018-04-19 21:20 ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 14/43] tests/tcg/multiarch: enable additional linux-test tests Alex Bennée
2018-04-19 21:22 ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 15/43] tests/tcg: move i386 specific tests into subdir Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 16/43] docker: Add fedora-i386-cross image Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 17/43] tests/tcg: enable building for i386 Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 18/43] tests/tcg/i386: Build fix for hello-i386 Alex Bennée
2018-04-19 21:25 ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 19/43] tests/tcg/i386: fix test-i386 Alex Bennée
2018-04-19 21:26 ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 20/43] tests/tcg/i386: fix test-i386-fprem Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 21/43] tests/tcg/i386: disable i386 version of test-i386-ssse Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 22/43] tests/tcg/x86_64: add Makefile.target Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 23/43] tests/tcg/i386/test-i386: use modern vector_size attributes Alex Bennée
2018-04-19 21:27 ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 24/43] tests/tcg/i386/test-i386: fix printf format Alex Bennée
2018-04-19 21:28 ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 25/43] tests/tcg: move ARM specific tests into subdir Alex Bennée
2018-04-19 21:29 ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 26/43] tests/tcg/arm: fix up test-arm-iwmmxt test Alex Bennée
2018-04-19 21:32 ` Richard Henderson
2018-04-20 8:18 ` Alex Bennée
2018-04-20 21:16 ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 27/43] tests/tcg/aarch64: add Makefile.target Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 28/43] tests/tcg/aarch64: add fcvt test cases for AArch64 Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 29/43] tests/tcg/aarch64: userspace system register test Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 30/43] tests/tcg: move MIPS specific tests into subdir Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 31/43] tests/tcg: enable building for MIPS Alex Bennée
2018-04-19 17:05 ` Philippe Mathieu-Daudé
2018-04-19 17:49 ` Alex Bennée
2018-04-19 17:58 ` Peter Maydell
2018-04-20 2:57 ` Philippe Mathieu-Daudé
2018-04-20 3:08 ` Fam Zheng
2018-04-20 8:29 ` Alex Bennée
2018-04-20 9:29 ` Alex Bennée
2018-04-20 11:00 ` Peter Maydell
2018-04-20 11:57 ` Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 32/43] tests/tcg/mips: include common mips hello-mips Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 33/43] tests/tcg: enable building for s390x Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 34/43] tests/tcg: enable building for ppc64 Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 35/43] tests/tcg/Makefile: update to be called from Makefile.target Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 36/43] Makefile.target: add (clean-)guest-tests targets Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 37/43] tests/Makefile.include: add (clean-)check-tcg targets Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 38/43] osdep: disable glib-compat.h include with QEMU_NO_GLIB Alex Bennée
2018-04-19 21:41 ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 39/43] softfloat: do not include glib headers Alex Bennée
2018-04-19 21:41 ` Richard Henderson
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 40/43] tests: add fp-test, a floating point test suite Alex Bennée
2018-04-19 13:58 ` [Qemu-devel] [PATCH v2 41/43] tests/tcg/multiarch: add fp-test into multiarch set Alex Bennée
2018-04-19 13:59 ` [Qemu-devel] [PATCH v2 42/43] tests/tcg: disable fp-test for 32 bit (HACK!) Alex Bennée
2018-04-19 22:02 ` Richard Henderson
2018-04-20 6:43 ` Alex Bennée
2018-04-19 13:59 ` [Qemu-devel] [PATCH v2 43/43] tests: fp-test add fcvt support (!INCOMPLETE WIP) Alex Bennée
2018-04-19 14:52 ` [Qemu-devel] [PATCH v2 00/43] fix building of tests/tcg no-reply
2018-04-19 15:02 ` no-reply
2018-04-20 0:12 ` Richard Henderson
2018-04-20 2:32 ` Philippe Mathieu-Daudé
2018-04-20 6:42 ` Alex Bennée
2018-04-20 19:05 ` Emilio G. Cota
2018-04-20 22:02 ` Richard Henderson
2018-04-20 2:10 ` Fam Zheng
2018-04-20 3:41 ` Max Filippov
2018-04-22 20:22 ` Richard Henderson
2018-04-23 12:53 ` Alex Bennée
2018-04-23 14:26 ` Alex Bennée
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180419135901.30035-1-alex.bennee@linaro.org \
--to=alex.bennee@linaro.org \
--cc=agraf@suse.de \
--cc=aurelien@aurel32.net \
--cc=balrogg@gmail.com \
--cc=berrange@redhat.com \
--cc=cota@braap.org \
--cc=f4bug@amsat.org \
--cc=famz@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).