From 09a992a48ab62602ed6154197fd722dd2ca4a932 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Mon, 26 Nov 2018 17:53:51 +0100 Subject: [PATCH] x86emul: suppress default test harness build with incapable assembler A top level "make build", as used e.g. by osstest, wants to build all "all" targets in enabled tools subdirectories, which by default also includes the emulator test harness. The use of, in particular, {evex} insn pseudo-prefixes in, again in particular, test_x86_emulator.c causes this build to fail though when the assembler is not new enough. Take another big hammer and suppress the default harness build altogether also when this and other pseudo-prefixes are not supported by the specified (or defaulted to) assembler. Signed-off-by: Jan Beulich Acked-by: Wei Liu --- tools/tests/x86_emulator/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile index d30639c800..e4852e3da7 100644 --- a/tools/tests/x86_emulator/Makefile +++ b/tools/tests/x86_emulator/Makefile @@ -80,6 +80,10 @@ endef $(foreach flavor,$(SIMD) $(FMA),$(eval $(call simd-check-cc,$(flavor)))) +# Also explicitly check for {evex} pseudo-prefix support, which got introduced +# only after AVX512F and some of its extensions. +TARGET-$(shell echo 'asm("{evex} vzeroall");' | $(CC) -x c -c -o /dev/null - || echo y) := + ifeq ($(TARGET-y),) $(warning Test harness not built, use newer compiler than "$(CC)") endif -- 2.30.2