qemu/tests/tcg/cris/Makefile.target
Akihiko Odaki de18cbdaf2 tests/tcg: Add -fno-stack-protector
A build of GCC 13.2 will have stack protector enabled by default if it
was configured with --enable-default-ssp option. For such a compiler,
it is necessary to explicitly disable stack protector when linking
without standard libraries.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20230731091042.139159-3-akihiko.odaki@daynix.com>
[AJB: fix comment string typo]
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231029145033.592566-3-alex.bennee@linaro.org>
(cherry picked from commit 580731dcc87eb27a2b0dc20ec331f1ce51864c97)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2023-11-01 12:59:22 +03: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 -fno-stack-protector
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