Loading...
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
12TEST_GEN_PROGS += vdso_test_getrandom
13TEST_GEN_PROGS += vdso_test_chacha
14
15CFLAGS := -std=gnu99 -O2
16
17ifeq ($(CONFIG_X86_32),y)
18LDLIBS += -lgcc_s
19endif
20
21include ../lib.mk
22$(OUTPUT)/vdso_test_gettimeofday: parse_vdso.c vdso_test_gettimeofday.c
23$(OUTPUT)/vdso_test_getcpu: parse_vdso.c vdso_test_getcpu.c
24$(OUTPUT)/vdso_test_abi: parse_vdso.c vdso_test_abi.c
25$(OUTPUT)/vdso_test_clock_getres: vdso_test_clock_getres.c
26
27$(OUTPUT)/vdso_standalone_test_x86: vdso_standalone_test_x86.c parse_vdso.c
28$(OUTPUT)/vdso_standalone_test_x86: CFLAGS +=-nostdlib -fno-asynchronous-unwind-tables -fno-stack-protector
29
30$(OUTPUT)/vdso_test_correctness: vdso_test_correctness.c
31$(OUTPUT)/vdso_test_correctness: LDFLAGS += -ldl
32
33$(OUTPUT)/vdso_test_getrandom: parse_vdso.c
34$(OUTPUT)/vdso_test_getrandom: CFLAGS += -isystem $(top_srcdir)/tools/include \
35 $(KHDR_INCLUDES) \
36 -isystem $(top_srcdir)/include/uapi
37
38$(OUTPUT)/vdso_test_chacha: vgetrandom-chacha.S
39$(OUTPUT)/vdso_test_chacha: CFLAGS += -idirafter $(top_srcdir)/tools/include \
40 -idirafter $(top_srcdir)/tools/include/generated \
41 -idirafter $(top_srcdir)/arch/$(SRCARCH)/include \
42 -idirafter $(top_srcdir)/include \
43 -Wa,--noexecstack
1ifndef CROSS_COMPILE
2CFLAGS := -std=gnu99
3CFLAGS_vdso_standalone_test_x86 := -nostdlib -fno-asynchronous-unwind-tables -fno-stack-protector
4ifeq ($(CONFIG_X86_32),y)
5LDLIBS += -lgcc_s
6endif
7
8TEST_PROGS := vdso_test vdso_standalone_test_x86
9
10all: $(TEST_PROGS)
11vdso_test: parse_vdso.c vdso_test.c
12vdso_standalone_test_x86: vdso_standalone_test_x86.c parse_vdso.c
13 $(CC) $(CFLAGS) $(CFLAGS_vdso_standalone_test_x86) \
14 vdso_standalone_test_x86.c parse_vdso.c \
15 -o vdso_standalone_test_x86
16
17include ../lib.mk
18clean:
19 rm -fr $(TEST_PROGS)
20endif