a7365e984d
For modern cpus, the kernel uses xsave to store all extra cpu state across the signal handler. For xsave/xrstor to work, the pointer must be 64 byte aligned. Moreover, the regular part of the signal frame must be 16 byte aligned. Attempt to mirror the kernel code as much as possible. Use enum FPStateKind instead of use_xsave() and use_fxsr(). Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1648 Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
33 lines
823 B
Makefile
33 lines
823 B
Makefile
# -*- Mode: makefile -*-
|
|
#
|
|
# x86_64 tests - included from tests/tcg/Makefile.target
|
|
#
|
|
# Currently we only build test-x86_64 and test-i386-ssse3 from
|
|
# $(SRC_PATH)/tests/tcg/i386/
|
|
#
|
|
|
|
include $(SRC_PATH)/tests/tcg/i386/Makefile.target
|
|
|
|
ifeq ($(filter %-linux-user, $(TARGET)),$(TARGET))
|
|
X86_64_TESTS += vsyscall
|
|
X86_64_TESTS += noexec
|
|
X86_64_TESTS += cmpxchg
|
|
X86_64_TESTS += adox
|
|
X86_64_TESTS += test-1648
|
|
TESTS=$(MULTIARCH_TESTS) $(X86_64_TESTS) test-x86_64
|
|
else
|
|
TESTS=$(MULTIARCH_TESTS)
|
|
endif
|
|
|
|
adox: CFLAGS=-O2
|
|
|
|
run-test-i386-ssse3: QEMU_OPTS += -cpu max
|
|
run-plugin-test-i386-ssse3-%: 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)
|
|
|
|
%: $(SRC_PATH)/tests/tcg/x86_64/%.c
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
|