1 # SPDX-License-Identifier: GPL-2.0 2 uname_M := $(shell uname -m 2>/dev/null || echo not) 3 ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/x86/ -e s/x86_64/x86/) 4 SODIUM := $(shell pkg-config --libs libsodium 2>/dev/null) 5 6 TEST_GEN_PROGS := vdso_test_gettimeofday 7 TEST_GEN_PROGS += vdso_test_getcpu 8 TEST_GEN_PROGS += vdso_test_abi 9 TEST_GEN_PROGS += vdso_test_clock_getres 10 ifeq ($(ARCH),$(filter $(ARCH),x86 x86_64)) 11 TEST_GEN_PROGS += vdso_standalone_test_x86 12 endif 13 TEST_GEN_PROGS += vdso_test_correctness 14 ifeq ($(uname_M),x86_64) 15 TEST_GEN_PROGS += vdso_test_getrandom 16 ifneq ($(SODIUM),) 17 TEST_GEN_PROGS += vdso_test_chacha 18 endif 19 endif 20 21 CFLAGS := -std=gnu99 22 23 ifeq ($(CONFIG_X86_32),y) 24 LDLIBS += -lgcc_s 25 endif 26 27 include ../lib.mk 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 $(OUTPUT)/vdso_test_clock_getres: vdso_test_clock_getres.c 32 33 $(OUTPUT)/vdso_standalone_test_x86: vdso_standalone_test_x86.c parse_vdso.c 34 $(OUTPUT)/vdso_standalone_test_x86: CFLAGS +=-nostdlib -fno-asynchronous-unwind-tables -fno-stack-protector 35 36 $(OUTPUT)/vdso_test_correctness: vdso_test_correctness.c 37 $(OUTPUT)/vdso_test_correctness: LDFLAGS += -ldl 38 39 $(OUTPUT)/vdso_test_getrandom: parse_vdso.c 40 $(OUTPUT)/vdso_test_getrandom: CFLAGS += -isystem $(top_srcdir)/tools/include \ 41 -isystem $(top_srcdir)/include/uapi 42 43 $(OUTPUT)/vdso_test_chacha: $(top_srcdir)/arch/$(ARCH)/entry/vdso/vgetrandom-chacha.S 44 $(OUTPUT)/vdso_test_chacha: CFLAGS += -idirafter $(top_srcdir)/tools/include \ 45 -isystem $(top_srcdir)/arch/$(ARCH)/include \ 46 -isystem $(top_srcdir)/include \ 47 -D__ASSEMBLY__ -DBULID_VDSO -DCONFIG_FUNCTION_ALIGNMENT=0 \ 48 -Wa,--noexecstack $(SODIUM)
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.