qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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

  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).