[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCHv5] tests/tcg: fix build
From: |
Aurelien Jarno |
Subject: |
Re: [Qemu-devel] [PATCHv5] tests/tcg: fix build |
Date: |
Fri, 19 Oct 2012 21:30:07 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Tue, Oct 16, 2012 at 04:00:23PM -0400, Catalin Patulea wrote:
> This broke when the tests were moved from tests/ to tests/tcg/.
>
> On x86_64 host/i386-linux-user non-kvm guest, test-i386 and test-mmap are
> broken, but at least they build.
>
> To build/run the tests:
> $ cd $BUILD_PATH/tests/tcg
> $ SRC_PATH=path/to/qemu make <target>
>
> Signed-off-by: Catalin Patulea <address@hidden>
> ---
> This version adds Signed-off-by and should be compatible with git am.
>
> tests/tcg/Makefile | 18 +++++++++++-------
> tests/tcg/linux-test.c | 2 ++
> tests/tcg/test-i386.c | 3 ++-
> tests/tcg/test_path.c | 13 +++++++------
> 4 files changed, 22 insertions(+), 14 deletions(-)
>
> diff --git a/tests/tcg/Makefile b/tests/tcg/Makefile
> index 15e36a2..80b1a4b 100644
> --- a/tests/tcg/Makefile
> +++ b/tests/tcg/Makefile
> @@ -1,13 +1,13 @@
> --include ../config-host.mak
> +-include ../../config-host.mak
> -include $(SRC_PATH)/rules.mak
>
> -$(call set-vpath, $(SRC_PATH)/tests)
> +$(call set-vpath, $(SRC_PATH)/tests/tcg)
>
> -QEMU=../i386-linux-user/qemu-i386
> -QEMU_X86_64=../x86_64-linux-user/qemu-x86_64
> +QEMU=../../i386-linux-user/qemu-i386
> +QEMU_X86_64=../../x86_64-linux-user/qemu-x86_64
> CC_X86_64=$(CC_I386) -m64
>
> -QEMU_INCLUDES += -I..
> +QEMU_INCLUDES += -I../..
> CFLAGS=-Wall -O2 -g -fno-strict-aliasing
> #CFLAGS+=-msse2
> LDFLAGS=
> @@ -36,6 +36,7 @@ TESTS += $(I386_TESTS)
> endif
>
> all: $(patsubst %,run-%,$(TESTS))
> +test: all
>
> # rules to run tests
>
> @@ -74,7 +75,10 @@ run-test_path: test_path
> # rules to compile tests
>
> test_path: test_path.o
> + $(CC_I386) $(LDFLAGS) -o $@ $^ $(LIBS)
> +
> test_path.o: test_path.c
> + $(CC_I386) $(QEMU_INCLUDES) $(GLIB_CFLAGS) $(CFLAGS) -c -o $@ $^
>
> hello-i386: hello-i386.c
> $(CC_I386) -nostdlib $(CFLAGS) -static $(LDFLAGS) -o $@ $<
> @@ -86,12 +90,12 @@ testthread: testthread.c
> # 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) $(CFLAGS) $(LDFLAGS) -o $@ \
> + $(CC_I386) $(QEMU_INCLUDES) $(CFLAGS) $(LDFLAGS) -o $@ \
> $(<D)/test-i386.c $(<D)/test-i386-code16.S
> $(<D)/test-i386-vm86.S -lm
>
> test-x86_64: test-i386.c \
> test-i386.h test-i386-shift.h test-i386-muldiv.h
> - $(CC_X86_64) $(CFLAGS) $(LDFLAGS) -o $@ $(<D)/test-i386.c -lm
> + $(CC_X86_64) $(QEMU_INCLUDES) $(CFLAGS) $(LDFLAGS) -o $@
> $(<D)/test-i386.c -lm
>
> # generic Linux and CPU test
> linux-test: linux-test.c
> diff --git a/tests/tcg/linux-test.c b/tests/tcg/linux-test.c
> index 2e4a746..83cb32d 100644
> --- a/tests/tcg/linux-test.c
> +++ b/tests/tcg/linux-test.c
> @@ -16,6 +16,7 @@
> * You should have received a copy of the GNU General Public License
> * along with this program; if not, see <http://www.gnu.org/licenses/>.
> */
> +#define _GNU_SOURCE
> #include <stdarg.h>
> #include <stdlib.h>
> #include <stdio.h>
> @@ -38,6 +39,7 @@
> #include <dirent.h>
> #include <setjmp.h>
> #include <sys/shm.h>
> +#include <sched.h>
>
> #define TESTPATH "/tmp/linux-test.tmp"
> #define TESTPORT 7654
> diff --git a/tests/tcg/test-i386.c b/tests/tcg/test-i386.c
> index 8e64bba..64d929e 100644
> --- a/tests/tcg/test-i386.c
> +++ b/tests/tcg/test-i386.c
> @@ -17,6 +17,7 @@
> * along with this program; if not, see <http://www.gnu.org/licenses/>.
> */
> #define _GNU_SOURCE
> +#include "compiler.h"
> #include <stdlib.h>
> #include <stdio.h>
> #include <string.h>
> @@ -1827,7 +1828,7 @@ void test_exceptions(void)
> printf("lock nop exception:\n");
> if (setjmp(jmp_env) == 0) {
> /* now execute an invalid instruction */
> - asm volatile("lock nop");
> + asm volatile(".byte 0xf0, 0x90"); /* lock nop */
> }
>
> printf("INT exception:\n");
> diff --git a/tests/tcg/test_path.c b/tests/tcg/test_path.c
> index 7265a94..a064eea 100644
> --- a/tests/tcg/test_path.c
> +++ b/tests/tcg/test_path.c
> @@ -1,11 +1,12 @@
> /* Test path override code */
> -#include "../config-host.h"
> -#include "../qemu-malloc.c"
> -#include "../cutils.c"
> -#include "../path.c"
> -#include "../trace.c"
> +#define _GNU_SOURCE
> +#include "config-host.h"
> +#include "iov.c"
> +#include "cutils.c"
> +#include "path.c"
> +#include "trace.c"
> #ifdef CONFIG_TRACE_SIMPLE
> -#include "../simpletrace.c"
> +#include "../trace/simple.c"
> #endif
>
> #include <stdarg.h>
> --
> 1.7.7.3
>
Thanks, applied.
--
Aurelien Jarno GPG: 1024D/F1BCDB73
address@hidden http://www.aurel32.net
- Re: [Qemu-devel] [PATCHv3] tests/tcg: fix build, (continued)