> This is starting to shape up pretty nicely. I was able to add a whole > bunch of additional architectures thanks to cross compilers in Debian > Sid which are there to support the Debian "ports". These may not be > around for ever, most "ports" are on the way out, but they will be the > last thing to drop out of the Sid repo. Maybe when Debian stops > caring (and no other distro does) maybe we should to?
I *think* working with Sid is not recommended as very unstable and not reproducible. A reproducible way is to use the Debian Snapshot Archive (http://snapshot.debian.org/) eventually using package specific version and holding packages at this version. I found an example in the following post: https://blog.sleeplessbeastie.eu/2017/07/17/how-to-install-packages-using-repository-snapshot/ (I Cc'ed Debian experts who might have a better idea). For stable releases, this shouldn't be a problem since End of Life Debian versions stay on archive.debian.org; as for Docker images: https://hub.docker.com/r/debian/eol/ > However compiling big-endian targets continues to be a massive pain as > even if compilers support switching endianess with flags you are > usually let down by a partial set of headers or the linker not being > able to link against wrong-endian crt.o or libgcc files. Ultimately ¯\_(ツ)_/¯ https://bugs.launchpad.net/gcc-arm-embedded/+bug/1718206 > any guests that are not supported by any distro are probably going to > be stuck with bare metal or hand crafted tests like in > tests/tcg/alpha. > > The final patch (tests/tcg: override runners for broken tests) > suppresses a bunch of tests that fail on different guest setups. This > was to allow me to test "make check-tcg" could make it all the way > through. I'm sure some of them are bugs that need fixing so it would > be cool if maintainers could look through and see if there are any > easy wins. > > Major Changes: > - check-tcg now runs the tests (c.f build-tcg/clean-tcg) > - clean use of quiet-command for CROSS-BUILD/RUN-TESTS and TEST > - bunch of additional targets (alpha, hppa, m68k, sh4, sparc64, mips64) > - review comments and tags > - dropped fp-test and additional aarch64 tests for now > > As usual detailed notes are bellow the --- in the commit messages. > > Currently un-reviewed: > > 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 0014/tests tcg multiarch enable additional linux test .patch needs > review > patch 0015/tests tcg multiarch move most output to stdout.patch needs review > patch 0017/docker Add fedora i386 cross image.patch needs review > patch 0018/tests tcg enable building for i386.patch needs review > patch 0021/tests tcg i386 fix test i386 fprem.patch needs review > patch 0022/tests tcg i386 disable i386 version of test i386 .patch needs > review > patch 0023/tests tcg x86_64 add Makefile.target.patch needs review > patch 0025/tests tcg i386 test i386 fix printf format.patch needs review > patch 0027/tests tcg arm fix up test arm iwmmxt test.patch needs review > patch 0028/tests tcg aarch64 add Makefile.target.patch needs review > patch 0029/tests tcg aarch64 add fcvt test cases for AArch64.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 enable building for Alpha.patch needs review > patch 0036/tests tcg alpha add Alpha specific tests.patch needs review > patch 0037/tests tcg alpha fix warnings about write.patch needs review > patch 0038/tests tcg enable building for HPPA.patch needs review > patch 0039/tests tcg enable building for m68k.patch needs review > patch 0040/tests tcg enable building for sh4.patch needs review > patch 0041/tests tcg enable building for sparc64.patch needs review > patch 0042/tests tcg enable building for mips64.patch needs review > patch 0043/tests tcg Makefile update to be called from Makef.patch needs > review > patch 0044/Makefile.target add clean guest tests targets.patch needs review > patch 0046/tests tcg override runners for broken tests UPSTR.patch needs > review > > > Alex Bennée (41): > 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/multiarch: move most output to stdout > 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: 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: enable building for Alpha > tests/tcg/alpha: add Alpha specific tests > tests/tcg/alpha: fix warnings about write() > tests/tcg: enable building for HPPA > tests/tcg: enable building for m68k > tests/tcg: enable building for sh4 > tests/tcg: enable building for sparc64 > tests/tcg: enable building for mips64 > tests/tcg/Makefile: update to be called from Makefile.target > Makefile.target: add (clean-)guest-tests targets > tests/Makefile.include: add [build|clean|check]-tcg targets > tests/tcg: override runners for broken tests (!UPSTREAM) > > 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 | 136 +- > scripts/create_config | 2 +- > tests/Makefile.include | 28 +- > tests/docker/Makefile.include | 16 +- > tests/docker/docker.py | 49 + > .../dockerfiles/debian-alpha-cross.docker | 12 + > .../dockerfiles/debian-cross-build.docker | 36 + > .../dockerfiles/debian-hppa-cross.docker | 12 + > .../dockerfiles/debian-m68k-cross.docker | 12 + > .../dockerfiles/debian-mips64-cross.docker | 12 + > .../dockerfiles/debian-sh4-cross.docker | 12 + > tests/docker/dockerfiles/debian-sid.docker | 23 + > .../dockerfiles/debian-sparc64-cross.docker | 12 + > .../dockerfiles/fedora-i386-cross.docker | 14 + > tests/tcg/Makefile | 193 +-- > tests/tcg/Makefile.include | 86 ++ > tests/tcg/README | 69 +- > tests/tcg/aarch64/Makefile.target | 13 + > tests/tcg/aarch64/fcvt.c | 260 ++++ > tests/tcg/aarch64/fcvt.out | 1305 +++++++++++++++++ > tests/tcg/alpha/Makefile | 35 - > tests/tcg/alpha/Makefile.include | 2 + > tests/tcg/alpha/Makefile.target | 36 + > tests/tcg/alpha/{crt.s => crt.S} | 0 > tests/tcg/alpha/hello-alpha.c | 2 + > tests/tcg/alpha/test-cond.c | 1 + > tests/tcg/alpha/test-ovf.c | 2 + > 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/hppa/Makefile.include | 2 + > tests/tcg/hppa/Makefile.target | 10 + > tests/tcg/i386/Makefile.include | 9 + > tests/tcg/i386/Makefile.target | 52 + > 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/m68k/Makefile.include | 2 + > tests/tcg/m68k/Makefile.target | 11 + > tests/tcg/mips/Makefile.include | 20 + > tests/tcg/mips/Makefile.target | 29 + > tests/tcg/mips/README | 7 + > tests/tcg/{ => mips}/hello-mips.c | 0 > tests/tcg/multiarch/Makefile.target | 29 + > tests/tcg/multiarch/README | 1 + > tests/tcg/{ => multiarch}/linux-test.c | 93 +- > tests/tcg/{ => multiarch}/sha1.c | 0 > tests/tcg/{ => multiarch}/test-mmap.c | 38 +- > tests/tcg/{ => multiarch}/testthread.c | 0 > tests/tcg/ppc64le/Makefile.include | 2 + > tests/tcg/s390x/Makefile.include | 2 + > tests/tcg/s390x/Makefile.target | 6 + > tests/tcg/sh4/Makefile.include | 4 + > tests/tcg/sh4/Makefile.target | 6 + > tests/tcg/sparc64/Makefile.include | 2 + > tests/tcg/sparc64/Makefile.target | 8 + > tests/tcg/test_path.c | 157 -- > tests/tcg/x86_64/Makefile.target | 15 + > 70 files changed, 2495 insertions(+), 504 deletions(-) > create mode 100644 tests/docker/dockerfiles/debian-alpha-cross.docker > create mode 100644 tests/docker/dockerfiles/debian-cross-build.docker > create mode 100644 tests/docker/dockerfiles/debian-hppa-cross.docker > create mode 100644 tests/docker/dockerfiles/debian-m68k-cross.docker > create mode 100644 tests/docker/dockerfiles/debian-mips64-cross.docker > create mode 100644 tests/docker/dockerfiles/debian-sh4-cross.docker > create mode 100644 tests/docker/dockerfiles/debian-sid.docker > create mode 100644 tests/docker/dockerfiles/debian-sparc64-cross.docker > create mode 100644 tests/docker/dockerfiles/fedora-i386-cross.docker > 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 > delete mode 100644 tests/tcg/alpha/Makefile > create mode 100644 tests/tcg/alpha/Makefile.include > create mode 100644 tests/tcg/alpha/Makefile.target > rename tests/tcg/alpha/{crt.s => crt.S} (100%) > 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/hppa/Makefile.include > create mode 100644 tests/tcg/hppa/Makefile.target > 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/m68k/Makefile.include > create mode 100644 tests/tcg/m68k/Makefile.target > 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 (87%) > rename tests/tcg/{ => multiarch}/sha1.c (100%) > rename tests/tcg/{ => multiarch}/test-mmap.c (94%) > rename tests/tcg/{ => multiarch}/testthread.c (100%) > create mode 100644 tests/tcg/ppc64le/Makefile.include > create mode 100644 tests/tcg/s390x/Makefile.include > create mode 100644 tests/tcg/s390x/Makefile.target > create mode 100644 tests/tcg/sh4/Makefile.include > create mode 100644 tests/tcg/sh4/Makefile.target > create mode 100644 tests/tcg/sparc64/Makefile.include > create mode 100644 tests/tcg/sparc64/Makefile.target > delete mode 100644 tests/tcg/test_path.c > create mode 100644 tests/tcg/x86_64/Makefile.target >
signature.asc
Description: OpenPGP digital signature