tests/tcg/x86_64: add vsyscall smoke test

Having a small test will prevent trivial regressions in the future.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20210519045738.1335210-3-iii@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
This commit is contained in:
Ilya Leoshkevich 2021-05-19 06:57:38 +02:00 committed by Cornelia Huck
parent 9b21049edd
commit f66487756b
2 changed files with 17 additions and 1 deletions

View file

@ -3,14 +3,18 @@
# x86_64 tests - included from tests/tcg/Makefile.target
#
# Currently we only build test-x86_64 and test-i386-ssse3 from
# $(SRC)/tests/tcg/i386/
# $(SRC_PATH)/tests/tcg/i386/
#
include $(SRC_PATH)/tests/tcg/i386/Makefile.target
X86_64_TESTS += vsyscall
TESTS=$(MULTIARCH_TESTS) $(X86_64_TESTS) test-x86_64
QEMU_OPTS += -cpu max
test-x86_64: LDFLAGS+=-lm -lc
test-x86_64: test-i386.c test-i386.h test-i386-shift.h test-i386-muldiv.h
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
vsyscall: $(SRC_PATH)/tests/tcg/x86_64/vsyscall.c
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)

View file

@ -0,0 +1,12 @@
#include <stdio.h>
#include <time.h>
#define VSYSCALL_PAGE 0xffffffffff600000
#define TIME_OFFSET 0x400
typedef time_t (*time_func)(time_t *);
int main(void)
{
printf("%ld\n", ((time_func)(VSYSCALL_PAGE + TIME_OFFSET))(NULL));
return 0;
}