qemu/tests/tcg/cris/Makefile.target
Alex Bennée d044b7c33a tests/tcg: limit the scope of the plugin tests
Running every plugin with every test is getting excessive as well as
not really improving coverage that much. Restrict the plugin tests to
just the MULTIARCH_TESTS which are shared between most architecture
for both system and user-mode. For those that aren't we need to squash
MULTIARCH_TESTS so we don't add them when they are not part of the
TESTS global.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230424092249.58552-14-alex.bennee@linaro.org>
2023-04-27 14:58:23 +01:00

63 lines
1.8 KiB
Makefile

# -*- Mode: makefile -*-
#
# Cris tests
#
# Currently we can only build the "bare" tests with the docker
# supplied cross-compiler.
#
CRIS_SRC = $(SRC_PATH)/tests/tcg/cris/bare
CRIS_ALL = $(wildcard $(CRIS_SRC)/*.s)
CRIS_TESTS = $(patsubst $(CRIS_SRC)/%.s, %, $(CRIS_ALL))
# Filter out common blobs and broken tests
CRIS_BROKEN_TESTS = crt check_jsr
# upstream GCC doesn't support v32
CRIS_BROKEN_TESTS += check_mcp check_mulv32 check_addiv32 check_movpmv32
CRIS_BROKEN_TESTS += check_movprv32 check_clearfv32 check_movemrv32 check_bas
CRIS_BROKEN_TESTS += check_lapc check_movei
# no sure why
CRIS_BROKEN_TESTS += check_scc check_xarith
CRIS_USABLE_TESTS = $(filter-out $(CRIS_BROKEN_TESTS), $(CRIS_TESTS))
CRIS_RUNS = $(patsubst %, run-%, $(CRIS_USABLE_TESTS))
# override the list of tests, as we can't build the multiarch tests
TESTS = $(CRIS_USABLE_TESTS)
EXTRA_RUNS =
VPATH = $(CRIS_SRC)
AS = $(CC) -x assembler-with-cpp
LD = $(CC)
# we rely on GCC inline:ing the stuff we tell it to in many places here.
CFLAGS = -Winline -Wall -g -O2 -static
NOSTDFLAGS = -nostartfiles -nostdlib
ASFLAGS += -mcpu=v10 -g -Wa,-I,$(SRC_PATH)/tests/tcg/cris/bare
CRT_FILES = crt.o sys.o
# stop make deleting crt files if build fails
.PRECIOUS: $(CRT_FILES)
%.o: %.c
$(CC) -c $< -o $@
%.o: %.s
$(AS) $(ASFLAGS) -c $< -o $@
%: %.s $(CRT_FILES)
$(CC) $(ASFLAGS) $< -o $@ $(LDFLAGS) $(NOSTDFLAGS) $(CRT_FILES)
# The default CPU breaks (possibly as it's max?) so force crisv17
QEMU_OPTS=-cpu crisv17
# Additional runners to run under GNU SIM
CRIS_RUNS_ON_SIM=$(patsubst %, %-on-sim, $(CRIS_RUNS))
SIMG:=cris-axis-linux-gnu-run
# e.g.: make -f ../../tests/tcg/Makefile run-check_orm-on-sim
run-%-on-sim:
$(call run-test, $<, $(SIMG) $<)
# We don't currently support the multiarch tests
undefine MULTIARCH_TESTS