xref: /linux/tools/testing/selftests/riscv/cfi/Makefile (revision d30c1683aaecb93d2ab95685dc4300a33d3cea7a)
1CFLAGS += $(KHDR_INCLUDES)
2CFLAGS += -I$(top_srcdir)/tools/include
3
4CFLAGS += -march=rv64gc_zicfilp_zicfiss -fcf-protection=full
5
6# Check for zicfi* extensions needs cross compiler
7# which is not set until lib.mk is included
8ifeq ($(LLVM)$(CC),cc)
9CC := $(CROSS_COMPILE)gcc
10endif
11
12
13ifeq ($(shell $(CC) $(CFLAGS) -nostdlib -xc /dev/null -o /dev/null > /dev/null 2>&1; echo $$?),0)
14TEST_GEN_PROGS := cfitests
15
16$(OUTPUT)/cfitests: cfitests.c shadowstack.c
17	$(CC) -o$@ $(CFLAGS) $(LDFLAGS) $^
18else
19
20$(shell echo "Toolchain doesn't support CFI, skipping CFI kselftest." >&2)
21endif
22
23include ../../lib.mk
24