From patchwork Tue Apr 10 19:39:17 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: 133109 Delivered-To: patch@linaro.org Received: by 10.46.84.29 with SMTP id i29csp1641165ljb; Tue, 10 Apr 2018 12:52:48 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+QPdpA5D+8sdFSUggQK/UJ0NKrcMO1/rIx3SCyHul/J5W69MvSxclRSrPqWvORU4QWiW3O X-Received: by 10.200.27.216 with SMTP id m24mr2938273qtk.212.1523389968892; Tue, 10 Apr 2018 12:52:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523389968; cv=none; d=google.com; s=arc-20160816; b=NnFrgkNb1FnvnY5IaO3ybDrD9p1BurfU04yf1vncq2wTBNGauQtOSHe+uxC90aNjq0 07WZAQuXyZea4dDx7HPHL5sPpAq1QBzOM9LoUCGShb3pElwlAPs8i5eWp66y6HsAllE2 YbZClQVKbMmbg1PdiIovfl/W+5twkBviOWLCuWnX4jJrUu4jr+ipRYMZcMaGf1gCxE6m btm8ud+hIDWMfoiCeuZUe/g+VsgRZiPukm4l9sxLdW+c4IQD+CKD3tLcKIc2t1qZGXTL XlxjS7KEAE28NWpTRk5VFWH8t61Tgout9lJGSJ3E77NS/URiuUi3tlMgOFxh9KeTz4vh Ah7g== 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:references:in-reply-to :message-id:date:to:from:dkim-signature:arc-authentication-results; bh=MEfP5dc1LUd1ZZ8O18Iuz0kBxNh67DiczMZEr/u7Pxw=; b=yFrProY3CRAk+YcVEvZoRxv3N3grnfJN46lTyTVaOYYsq2zphWvAkDPIQIJUWi9qq2 6ugy9rmIPrr6VUGyN93+wcOT0z4ZF8F0SI+DdVeTeODRzNXemdVw5C4PONIrV/No19uS XOHxf9KYGGS6QSjE7mQVJWTxzDkrJRjM0/oGLp0O96nIFXx0rsJEJzdu3Ejb/SisyUsJ jN02ZfRp3xlvTUQC8uv7BwA8Nfj25AokpdH5jAr7DiUuH/DRHEdgchD+4mn3QGb/4bx6 ED5+GjEgXSd54YcrYHvJ9lfPzfD6ew4FwCVsuNbVF6oe4yYPsexUjZMOClGU4+ET3VVV 8UMw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=Clb0KnFY; 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 b143si1674674qkg.95.2018.04.10.12.52.48 for (version=TLS1 cipher=AES128-SHA bits=128/128); Tue, 10 Apr 2018 12:52:48 -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=Clb0KnFY; 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]:39846 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f5zJw-0002HM-87 for patch@linaro.org; Tue, 10 Apr 2018 15:52:48 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49753) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f5zC6-0004x7-9b for qemu-devel@nongnu.org; Tue, 10 Apr 2018 15:44:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f5zC4-0001C8-52 for qemu-devel@nongnu.org; Tue, 10 Apr 2018 15:44:42 -0400 Received: from mail-wm0-x241.google.com ([2a00:1450:400c:c09::241]:50668) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f5zC3-0001Aw-PL for qemu-devel@nongnu.org; Tue, 10 Apr 2018 15:44:40 -0400 Received: by mail-wm0-x241.google.com with SMTP id t67so28651197wmt.0 for ; Tue, 10 Apr 2018 12:44:39 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=MEfP5dc1LUd1ZZ8O18Iuz0kBxNh67DiczMZEr/u7Pxw=; b=Clb0KnFYT0ktpPHZx+S2IDkH+tCm2n4uIjLwYcoTsdxiD+F1WPdx5Zj95+SR16Uatb AOxywqj6/Wgzy5P6MGJ7CQQAH05lE13teVCfmyfdLhM8t7t+UMI6nJIvPdTeryZfhAcu 3HAHFrUImPx9LIEW4g5z+cl3/TeD/rPLaINO0= 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=MEfP5dc1LUd1ZZ8O18Iuz0kBxNh67DiczMZEr/u7Pxw=; b=qi9oy1y2U1NksImWeXdewbmT3dLWczs0BczV31A0v4+rXajo3b3wVRIag9b4qSwt4M XAYqhLFz5l9v8PDtJs4gVfl3gmAmJdzbjlf+sj9ZiAWhgXhSRP1A/XJ1M0+1NVGewLgo Ec9Qb5FHmG0imf5BDXbrpuEZuMWDkHwGGFpr3z2kY8m+xrd4epDFbuRm+0gKU0oTnpJ3 PWapXg8G6A+EzhAU3ishovO2w+5H2ioIBmFGa+5WlhWpAnQwHti72rVAfTxnRPTYW6uG bPlJjLNPjCnmfRzexbjgAAY+oIkYQj/NA9jd5BGx9RiyYMPqxW6dPpbQK02MVeFTD8+F m9gA== X-Gm-Message-State: ALQs6tBRFU3xrMVA1ZnK0C3cp7i8zOaBmNlf1mbT3t9NyhQ86VJCvbry +JcmTPd84fPe5r1FkxOg8hZunA== X-Received: by 10.28.217.7 with SMTP id q7mr514307wmg.61.1523389478618; Tue, 10 Apr 2018 12:44:38 -0700 (PDT) Received: from zen.linaro.local ([81.128.185.34]) by smtp.gmail.com with ESMTPSA id p19sm5099996wrb.75.2018.04.10.12.44.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 10 Apr 2018 12:44:34 -0700 (PDT) Received: from zen.linaroharston (localhost [127.0.0.1]) by zen.linaro.local (Postfix) with ESMTP id 05A923E0F8D; Tue, 10 Apr 2018 20:39:21 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Date: Tue, 10 Apr 2018 20:39:17 +0100 Message-Id: <20180410193919.28026-23-alex.bennee@linaro.org> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180410193919.28026-1-alex.bennee@linaro.org> References: <20180410193919.28026-1-alex.bennee@linaro.org> 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::241 Subject: [Qemu-devel] [PATCH v1 22/24] tests/tcg/Makefile: update to be called from Makefile.target 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?= , famz@redhat.com, cota@braap.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" This make is now invoked from each individual target make with the appropriate CC and ARCH set for each guest. It includes all the multiarch tests by default as well as any tests from tests/tcg/$(ARCH). As there may be subtle additional requirements for building some of the tests it also includes tests/tcg/$(ARCH)/Makefile.target if it is available. This is distinct from tests/tcg/$(ARCH)/Makefile.include which is used by the parent make machinery to determine potential docker targets. Signed-off-by: Alex Bennée --- tests/tcg/Makefile | 185 ++++++++++++----------------------------------------- 1 file changed, 42 insertions(+), 143 deletions(-) -- 2.16.2 diff --git a/tests/tcg/Makefile b/tests/tcg/Makefile index 89e3342f3d..2bba0d2a32 100644 --- a/tests/tcg/Makefile +++ b/tests/tcg/Makefile @@ -1,156 +1,55 @@ --include ../../config-host.mak --include $(SRC_PATH)/rules.mak +# -*- Mode: makefile -*- +# +# TCG tests +# +# These are complicated by the fact we want to build them for guest +# systems. This requires knowing what guests we are building and which +# ones we have cross-compilers for or docker images with +# cross-compilers. +# +# The tests themselves should be as minimal as possible as +# cross-compilers don't always have a large amount of libraries +# available. +# +# We only include the host build system for SRC_PATH and we don't +# bother with the common rules.mk. We expect CC to have been set for +# us from the parent make. We also expect to be in the tests build dir +# for the FOO-linux-user. +# -$(call set-vpath, $(SRC_PATH)/tests/tcg) +-include ../../config-host.mak +-include ../config-target.mak -QEMU=../../i386-linux-user/qemu-i386 -QEMU_X86_64=../../x86_64-linux-user/qemu-x86_64 -CC_X86_64=$(CC_I386) -m64 +# Set search path for all sources +VPATH = $(SRC_PATH)/tests/tcg/multiarch +TEST_SRCS = $(wildcard $(SRC_PATH)/tests/tcg/multiarch/*.c) -QEMU_INCLUDES += -I../.. -CFLAGS=-Wall -O2 -g -fno-strict-aliasing -#CFLAGS+=-msse2 -LDFLAGS= +VPATH += $(SRC_PATH)/tests/tcg/$(ARCH) +TEST_SRCS += $(wildcard $(SRC_PATH)/tests/tcg/$(ARCH)/*.c) -# TODO: automatically detect ARM and MIPS compilers, and run those too +SRCS=$(notdir ${TEST_SRCS}) +TESTS=$(SRCS:.c=) -# runcom maps page 0, so it requires root privileges -# also, pi_10.com runs indefinitely +# We use what ever CC we have +CFLAGS=-Wall -O0 -g -fno-strict-aliasing -static +QEMU_CFLAGS= +LDFLAGS= -I386_TESTS=hello-i386 \ - linux-test \ - testthread \ - sha1-i386 \ - test-i386 \ - test-i386-fprem \ - test-mmap \ - # runcom +# The per ARCH target makefile which might add specific compiler flags +# for some compilation targets. -# native i386 compilers sometimes are not biarch. assume cross-compilers are -ifneq ($(ARCH),i386) -I386_TESTS+=run-test-x86_64 -endif +EXTRA_MAKEFILE=$(SRC_PATH)/tests/tcg/$(ARCH)/Makefile.target +CHECK_INCLUDE=$(wildcard $(EXTRA_MAKEFILE)) -TESTS = test_path -ifneq ($(call find-in-path, $(CC_I386)),) -TESTS += $(I386_TESTS) +ifeq ($(EXTRA_MAKEFILE),$(CHECK_INCLUDE)) +include $(EXTRA_MAKEFILE) endif -all: $(patsubst %,run-%,$(TESTS)) -test: all - -# rules to run tests - -.PHONY: $(patsubst %,run-%,$(TESTS)) - -run-%: % - -$(QEMU) ./$* - -run-hello-i386: hello-i386 -run-linux-test: linux-test -run-testthread: testthread -run-sha1-i386: sha1-i386 - -run-test-i386: test-i386 - ./test-i386 > test-i386.ref - -$(QEMU) test-i386 > test-i386.out - @if diff -u test-i386.ref test-i386.out ; then echo "Auto Test OK"; fi - -run-test-i386-fprem: test-i386-fprem - ./test-i386-fprem > test-i386-fprem.ref - -$(QEMU) test-i386-fprem > test-i386-fprem.out - @if diff -u test-i386-fprem.ref test-i386-fprem.out ; then echo "Auto Test OK"; fi - -run-test-x86_64: test-x86_64 - ./test-x86_64 > test-x86_64.ref - -$(QEMU_X86_64) test-x86_64 > test-x86_64.out - @if diff -u test-x86_64.ref test-x86_64.out ; then echo "Auto Test OK"; fi - -run-test-mmap: test-mmap - -$(QEMU) ./test-mmap - -$(QEMU) -p 8192 ./test-mmap 8192 - -$(QEMU) -p 16384 ./test-mmap 16384 - -$(QEMU) -p 32768 ./test-mmap 32768 - -run-runcom: runcom - -$(QEMU) ./runcom $(SRC_PATH)/tests/pi_10.com - -run-test_path: test_path - ./test_path - -# rules to compile tests - -test_path: test_path.o - -test_path.o: test_path.c - -hello-i386: hello-i386.c - $(CC_I386) -nostdlib $(CFLAGS) -static $(LDFLAGS) -o $@ $< - strip $@ - -testthread: testthread.c - $(CC_I386) $(CFLAGS) $(LDFLAGS) -o $@ $< -lpthread - -# i386/x86_64 emulation test (test various opcodes) */ -test-i386: test-i386.c test-i386-code16.S test-i386-vm86.S \ - test-i386.h test-i386-shift.h test-i386-muldiv.h - $(CC_I386) $(QEMU_INCLUDES) $(CFLAGS) $(LDFLAGS) -o $@ \ - $(