From patchwork Tue Apr 24 15:23:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 134116 Delivered-To: patch@linaro.org Received: by 10.46.151.6 with SMTP id r6csp2376456lji; Tue, 24 Apr 2018 08:29:46 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpFstYficdc7Nbx2HawuLVEiso6jDplz8tTIwwIoQU1vqw3gc70lW4B0be+zRZIfBFMHgN/ X-Received: by 2002:ac8:3f23:: with SMTP id c32-v6mr28066806qtk.286.1524583786565; Tue, 24 Apr 2018 08:29:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524583786; cv=none; d=google.com; s=arc-20160816; b=s6A02Sbuqd40875d30DjdSGK1dtEje1/YqG+TLuXufNe8aenfo5wrfBPs8BHVy9dVd DyAlSedO8fwtCT5YBM5jNpV+gLOB9U6LLLwbanWdLIgl3x06k2pKdpzOPG5aCYp7y1Ea U8bkYgaaOYBUDBaxayKBgTwrV1JcwXldA0z9acYk5RUEFRKkANkOFYm8UnfAaA/bK0WG jp7Xki0S7OJyQOVZASYJcXm6Z6e5YcyY8gncKy6GjocSNWWnRytiPCK4MWuwNufRF3Xf 8edGNoiuAqiLNJGdDhm8SQCA0fzOJDx6LCw8W6Odh6z7wPgh34TZieDTjjNEtVAXpqRE i1LA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject :content-transfer-encoding:mime-version:message-id:date:to:from :dkim-signature:arc-authentication-results; bh=vwGbwT0TVMo9AYrJ7zqpv5TwmoECZzRf9mSzkCoxKSE=; b=Q/5zLX6WuQCmX/CiBN2bMkaUCBt1kz5cXWPi2S20emotCjDh0lXGNtu8IvgCrk0VUn AgNktj8uiM/So+zm0UIzBpLTMn8x40zkSR6pc38jrnk1a11VBCNJBm+RS7vb00VwtqnC WnYn/MCBre9HMiOJ+e+0hL5nEOEbZHuPl/5/I+gZzwG5/QAbvxxP+QGZ9sPhOHLhJcKv vbUR+BHqzXCZP551Yt/SnPrKHR552w52mtEGmNkjvepGwPx0QKVKYRuOdMN1dencflrq G9MrnkhFMgI09DH/hhICVqrvyzB9vAY4ermyMO7WRoNVj6QLntN8UE3H/BFLNEJxZcj1 q8+A== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=Kx0wzGDi; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom=qemu-devel-bounces+patch=linaro.org@nongnu.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id r74si5428151qke.161.2018.04.24.08.29.46 for (version=TLS1 cipher=AES128-SHA bits=128/128); Tue, 24 Apr 2018 08:29:46 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=Kx0wzGDi; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom=qemu-devel-bounces+patch=linaro.org@nongnu.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:59094 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fAzt3-0001xf-VD for patch@linaro.org; Tue, 24 Apr 2018 11:29:46 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46825) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fAzng-0006Tr-1n for qemu-devel@nongnu.org; Tue, 24 Apr 2018 11:24:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fAznc-0005Fn-Jb for qemu-devel@nongnu.org; Tue, 24 Apr 2018 11:24:11 -0400 Received: from mail-wm0-x243.google.com ([2a00:1450:400c:c09::243]:54601) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fAznc-0005DS-73 for qemu-devel@nongnu.org; Tue, 24 Apr 2018 11:24:08 -0400 Received: by mail-wm0-x243.google.com with SMTP id f6so1802686wmc.4 for ; Tue, 24 Apr 2018 08:24:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=vwGbwT0TVMo9AYrJ7zqpv5TwmoECZzRf9mSzkCoxKSE=; b=Kx0wzGDiu7/tcHOC5heDCHMkGm87F7yoiwBzGnfBCE+7SMljVowgtLfXgRr9cXNKlH 4zDwMpZyD18BRpPRumPk+63oqDvSdF4Ep0lvll2uFBzZRk+qgXOklXmNQBqNYwa68dNY SX6eQs75ZC6ShVMkOqGorzhC88z8UCgi3UNWI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=vwGbwT0TVMo9AYrJ7zqpv5TwmoECZzRf9mSzkCoxKSE=; b=CNmz8bzkAJ8h85yzQN36f+7P4E1gIhYA9USiy4yffTo3XRo+0FMPgFjOqwUE9PIL51 L1kQQfIbIrlNN3ZzaiY7+WbfyIllCvSnKRjNwSLQYowvaSwm73s/XmjHb04p4r/C9e2w 3AJ5IViW0QwLLUfgwsukuPkoMcXWPYZUDJjMahVWhN6GLi/I+2VzBhUGAUGsT1egB/+B hPBzmIEa3UMifVxGReapxPFasLK7tygDKkiixemHiTNcsGdFhiQ9yGmDcvM72jmpfV7r ZSRnDNw4KGLZRpU7YK+csvRQvI7Dx8V/RO/o3LyW4/JaycjUIVVZngX4BfWiFBSIOOVj 5GIQ== X-Gm-Message-State: ALQs6tCKUmEV/BPzJp8Cx1ABmQJlvY2VQYo//tUlmTUhEZEhJQ4AgDMW n556XqJj2yPGkUVoXmB6CiaVdg== X-Received: by 10.28.147.8 with SMTP id v8mr13617341wmd.13.1524583446720; Tue, 24 Apr 2018 08:24:06 -0700 (PDT) Received: from zen.linaro.local ([81.128.185.34]) by smtp.gmail.com with ESMTPSA id v66sm17852725wmd.41.2018.04.24.08.24.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 24 Apr 2018 08:24:05 -0700 (PDT) Received: from zen.linaroharston (localhost [127.0.0.1]) by zen.linaro.local (Postfix) with ESMTP id 643133E03EB; Tue, 24 Apr 2018 16:24:05 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= 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 Date: Tue, 24 Apr 2018 16:23:19 +0100 Message-Id: <20180424152405.10304-1-alex.bennee@linaro.org> X-Mailer: git-send-email 2.17.0 MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c09::243 Subject: [Qemu-devel] [PATCH v3 00/46] fix building of tests/tcg X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Hi, 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? 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 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 -- 2.17.0