Message ID | 1350417623-7520-1-git-send-email-catalinp@google.com |
---|---|
State | New |
Headers | show |
On 16 October 2012 21:00, Catalin Patulea <catalinp@google.com> 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 <catalinp@google.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> -- PMM
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 <catalinp@google.com> > --- > 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.
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>
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 <catalinp@google.com> --- 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(-)