xref: /linux/tools/testing/selftests/vDSO/Makefile (revision 18efd0b10e0fd77fe649a375f9f17a387b5d1609)
1# SPDX-License-Identifier: GPL-2.0
2include ../../../scripts/Makefile.arch
3
4TEST_GEN_PROGS := vdso_test_gettimeofday
5TEST_GEN_PROGS += vdso_test_getcpu
6TEST_GEN_PROGS += vdso_test_abi
7TEST_GEN_PROGS += vdso_test_clock_getres
8ifeq ($(ARCH),$(filter $(ARCH),x86 x86_64))
9TEST_GEN_PROGS += vdso_standalone_test_x86
10endif
11TEST_GEN_PROGS += vdso_test_correctness
12ifeq ($(ARCH)$(CONFIG_X86_32),$(filter $(ARCH)$(CONFIG_X86_32),x86 x86_64 loongarch))
13TEST_GEN_PROGS += vdso_test_getrandom
14TEST_GEN_PROGS += vdso_test_chacha
15endif
16
17CFLAGS := -std=gnu99
18
19ifeq ($(CONFIG_X86_32),y)
20LDLIBS += -lgcc_s
21endif
22
23include ../lib.mk
24$(OUTPUT)/vdso_test_gettimeofday: parse_vdso.c vdso_test_gettimeofday.c
25$(OUTPUT)/vdso_test_getcpu: parse_vdso.c vdso_test_getcpu.c
26$(OUTPUT)/vdso_test_abi: parse_vdso.c vdso_test_abi.c
27$(OUTPUT)/vdso_test_clock_getres: vdso_test_clock_getres.c
28
29$(OUTPUT)/vdso_standalone_test_x86: vdso_standalone_test_x86.c parse_vdso.c
30$(OUTPUT)/vdso_standalone_test_x86: CFLAGS +=-nostdlib -fno-asynchronous-unwind-tables -fno-stack-protector
31
32$(OUTPUT)/vdso_test_correctness: vdso_test_correctness.c
33$(OUTPUT)/vdso_test_correctness: LDFLAGS += -ldl
34
35$(OUTPUT)/vdso_test_getrandom: parse_vdso.c
36$(OUTPUT)/vdso_test_getrandom: CFLAGS += -isystem $(top_srcdir)/tools/include \
37                                         $(KHDR_INCLUDES) \
38                                         -isystem $(top_srcdir)/include/uapi
39
40$(OUTPUT)/vdso_test_chacha: $(top_srcdir)/tools/arch/$(SRCARCH)/vdso/vgetrandom-chacha.S
41$(OUTPUT)/vdso_test_chacha: CFLAGS += -idirafter $(top_srcdir)/tools/include \
42                                      -idirafter $(top_srcdir)/arch/$(SRCARCH)/include \
43                                      -idirafter $(top_srcdir)/include \
44                                      -D__ASSEMBLY__ -Wa,--noexecstack
45