Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
7ifeq ($(ARCH),$(filter $(ARCH),x86 x86_64))
8TEST_GEN_PROGS += vdso_standalone_test_x86
9endif
10TEST_GEN_PROGS += vdso_test_correctness
11TEST_GEN_PROGS += vdso_test_getrandom
12TEST_GEN_PROGS += vdso_test_chacha
13
14CFLAGS := -std=gnu99 -O2 -Wall -Wstrict-prototypes
15
16ifeq ($(CONFIG_X86_32),y)
17LDLIBS += -lgcc_s
18endif
19
20include ../lib.mk
21
22CFLAGS += $(TOOLS_INCLUDES)
23
24CFLAGS_NOLIBC := -nostdlib -nostdinc -ffreestanding -fno-asynchronous-unwind-tables \
25 -fno-stack-protector -include $(top_srcdir)/tools/include/nolibc/nolibc.h \
26 -I$(top_srcdir)/tools/include/nolibc/ $(KHDR_INCLUDES)
27
28$(OUTPUT)/vdso_test_gettimeofday: parse_vdso.c vdso_test_gettimeofday.c
29$(OUTPUT)/vdso_test_getcpu: parse_vdso.c vdso_test_getcpu.c
30$(OUTPUT)/vdso_test_abi: parse_vdso.c vdso_test_abi.c
31
32$(OUTPUT)/vdso_standalone_test_x86: vdso_standalone_test_x86.c parse_vdso.c | headers
33$(OUTPUT)/vdso_standalone_test_x86: CFLAGS:=$(CFLAGS_NOLIBC) $(CFLAGS)
34
35$(OUTPUT)/vdso_test_correctness: vdso_test_correctness.c
36$(OUTPUT)/vdso_test_correctness: LDFLAGS += -ldl
37
38$(OUTPUT)/vdso_test_getrandom: parse_vdso.c
39$(OUTPUT)/vdso_test_getrandom: CFLAGS += -isystem $(top_srcdir)/tools/include \
40 $(KHDR_INCLUDES) \
41 -isystem $(top_srcdir)/include/uapi
42
43$(OUTPUT)/vdso_test_chacha: vgetrandom-chacha.S
44$(OUTPUT)/vdso_test_chacha: CFLAGS += -idirafter $(top_srcdir)/tools/include \
45 -idirafter $(top_srcdir)/tools/include/generated \
46 -idirafter $(top_srcdir)/arch/$(SRCARCH)/include \
47 -idirafter $(top_srcdir)/include \
48 -Wa,--noexecstack