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 49