From: "Alex Bennée" <alex.bennee@linaro.org>
To: Pranith Kumar <bobby.prani@gmail.com>
Cc: qemu-devel@nongnu.org, Veronia Bahaa <veroniabahaa@gmail.com>,
Paolo Bonzini <pbonzini@redhat.com>,
rth@twiddle.net
Subject: Re: [Qemu-devel] [PATCH v2 3/4] tests/tcg: Create and populate misc tests for arch independent tests
Date: Fri, 09 Sep 2016 17:04:30 +0100 [thread overview]
Message-ID: <87twdp3vqp.fsf@linaro.org> (raw)
In-Reply-To: <20160829224920.16686-4-bobby.prani@gmail.com>
Pranith Kumar <bobby.prani@gmail.com> writes:
> Signed-off-by: Pranith Kumar <bobby.prani@gmail.com>
> ---
> tests/tcg/misc/Makefile | 75 +++++++++++++++++++++++++++++++++++++++
> tests/tcg/{ => misc}/linux-test.c | 3 ++
> tests/tcg/{ => misc}/sha1.c | 0
> tests/tcg/{ => misc}/test-mmap.c | 0
> tests/tcg/{ => misc}/test_path.c | 0
> tests/tcg/{ => misc}/testthread.c | 0
> 6 files changed, 78 insertions(+)
> create mode 100644 tests/tcg/misc/Makefile
> rename tests/tcg/{ => misc}/linux-test.c (99%)
> rename tests/tcg/{ => misc}/sha1.c (100%)
> rename tests/tcg/{ => misc}/test-mmap.c (100%)
> rename tests/tcg/{ => misc}/test_path.c (100%)
> rename tests/tcg/{ => misc}/testthread.c (100%)
>
> diff --git a/tests/tcg/misc/Makefile b/tests/tcg/misc/Makefile
> new file mode 100644
> index 0000000..39c316b
> --- /dev/null
> +++ b/tests/tcg/misc/Makefile
> @@ -0,0 +1,75 @@
> +BUILD_DIR=../../../build/
> +SRC_PATH=../../../
> +include $(BUILD_DIR)/config-host.mak
> +include $(SRC_PATH)/rules.mak
So the misc tests need to be called allowing change of compiler with
setting CROSS_CC. The other tests need to test is ARCH (i.e. host
architecture) matches in which case they can set CROSS_CC to CC.
Otherwise they fail to build.
See the following patch to get an idea, applies on top of your stuff but
you'll want to squash it in as appropriate:
>From c2dc6fa3abf49e6b430a980bd18101ab64a1fade Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>
Date: Fri, 9 Sep 2016 16:58:12 +0100
Subject: [PATCH] tcg/tests/misc/Makefile: a number of tweaks to roll up
With this you can build with:
mkdir aarch64-linux-user/tests
cd aarch64-linux-user/tests
CROSS_CC=aarch64-linux-gnu-gcc make -f ../../tests/tcg/misc/Makefile
Things changed:
- explicit about the BUILD_DIR and where we expect to be called
- use config-host.mak to get SRC_DIR
- use config-target.mak to get TARGET_NAME
- use CROSS_CC instead of CC
- disable test_path (these need re-writing in cross compile friendly non-glib)
- only pass -I into QEMU src tree when needed
---
tests/tcg/misc/Makefile | 53 ++++++++++++++++++++++++++++---------------------
1 file changed, 30 insertions(+), 23 deletions(-)
diff --git a/tests/tcg/misc/Makefile b/tests/tcg/misc/Makefile
index 39c316b..57235df 100644
--- a/tests/tcg/misc/Makefile
+++ b/tests/tcg/misc/Makefile
@@ -1,28 +1,33 @@
-BUILD_DIR=../../../build/
-SRC_PATH=../../../
-include $(BUILD_DIR)/config-host.mak
+# -*- Mode: makefile -*-
+#
+# Generic linux-user TCG tests
+#
+# These tests all use standard non-architecture specific APIs so can
+# be built for all TCG targets. The Make is expected to be called in
+# the ${BUILD_DIR}/$(TARGET_NAME_ARCH)-linux-user/tests directory
+#
+# To build for other architectures call make with CROSS_CC set
+#
+
+BUILD_DIR=../..
+include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH
+include ../config-target.mak # TARGET_NAME
include $(SRC_PATH)/rules.mak
$(call set-vpath, $(SRC_PATH)/tests/tcg/misc)
-QEMU=$(BUILD_DIR)/$(ARCH)-linux-user/qemu-$(ARCH)
+QEMU=$(BUILD_DIR)/$(TARGET_NAME)-linux-user/qemu-$(TARGET_NAME)
-QEMU_INCLUDES += -I$(BUILD_DIR)
-CFLAGS=-Wall -O2 -g -fno-strict-aliasing -I$(SRC_PATH)/include -I$(BUILD_DIR)
-#CFLAGS+=-msse2
-LDFLAGS=
-
-# TODO: automatically detect ARM and MIPS compilers, and run those too
+# Compiler set-up, default to system compiler if not set
+CROSS_CC?=$(CC)
-# runcom maps page 0, so it requires root privileges
-# also, pi_10.com runs indefinitely
+CFLAGS=-Wall -O2 -g -fno-strict-aliasing -static
+LDFLAGS=
TESTS=linux-test \
testthread \
sha1 \
- test-mmap \
- test_path
- # runcom
+ test-mmap
all: $(patsubst %,run-%,$(TESTS))
test: all
@@ -47,25 +52,27 @@ run-test_path: test_path
# rules to compile tests
-test_path: test_path.o
- $(CC) $^ -o $@ -lglib-2.0
-test_path.o: test_path.c
- $(CC) $^ -c -o $@ $(QEMU_INCLUDES) `pkg-config --cflags --libs glib-2.0`
+# These two need to be re-written as relying on glib (rather than just glibc)
+# test_path: test_path.o
+# $(CROSS_CC) $^ -o $@ -lglib-2.0
+
+# test_path.o: test_path.c
+# $(CROSS_CC) $^ -c -o $@ $(QEMU_INCLUDES) `pkg-config --cflags --libs glib-2.0`
testthread: testthread.c
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lpthread
+ $(CROSS_CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lpthread
# generic Linux and CPU test
linux-test: linux-test.c
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lm
+ $(CROSS_CC) $(CFLAGS) -I$(SRC_PATH)/include $(LDFLAGS) -o $@ $< -lm
test-mmap: test-mmap.c
- $(CC) $(CFLAGS) -Wall -O2 $(LDFLAGS) -o $@ $< -static
+ $(CROSS_CC) $(CFLAGS) -Wall -O2 $(LDFLAGS) -o $@ $< -static
# speed test
sha1: sha1.c
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<
+ $(CROSS_CC) $(CFLAGS) $(LDFLAGS) -o $@ $<
speed: sha1
time ./sha1
--
2.9.3
--
Alex Bennée
next prev parent reply other threads:[~2016-09-09 16:04 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-29 22:49 [Qemu-devel] [PATCH v2 0/4] Clean up TCG tests Pranith Kumar
2016-08-29 22:49 ` [Qemu-devel] [PATCH v2 1/4] tests/tcg: Move arm tests to arch specific folder Pranith Kumar
2016-09-09 14:43 ` Alex Bennée
2016-08-29 22:49 ` [Qemu-devel] [PATCH v2 2/4] tests/tcg: Move mips test " Pranith Kumar
2016-08-29 22:49 ` [Qemu-devel] [PATCH v2 3/4] tests/tcg: Create and populate misc tests for arch independent tests Pranith Kumar
2016-09-09 14:55 ` Alex Bennée
2016-09-09 16:04 ` Alex Bennée [this message]
2016-08-29 22:49 ` [Qemu-devel] [PATCH v2 4/4] tests/tcg: Add tests-tcg hook in Makefile Pranith Kumar
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=87twdp3vqp.fsf@linaro.org \
--to=alex.bennee@linaro.org \
--cc=bobby.prani@gmail.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=veroniabahaa@gmail.com \
/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).