global-incdirs-y += include srcs-y += snprintk.c srcs-y += strlcat.c srcs-y += strlcpy.c srcs-y += trace.c srcs-y += mempool.c srcs-y += nex_strdup.c srcs-y += consttime_memcmp.c srcs-y += memzero_explicit.c srcs-y += fault_mitigation.c srcs-y += qsort_helpers.c srcs-y += array.c srcs-y += base64.c ifneq (,$(filter y,$(CFG_CORE_SANITIZE_UNDEFINED) \ $(CFG_TA_SANITIZE_UNDEFINED) \ $(CFG_TA_SANITIZE_KADDRESS) \ $(CFG_CORE_SANITIZE_KADDRESS))) ifneq (,$(filter $(COMPILER),clang)) $(error error: UBSan/KASan not supported with Clang) endif endif ifneq (,$(filter $(sm)-$(CFG_CORE_SANITIZE_UNDEFINED),core-y ldelf-y)) build-ubsan := y endif ifeq (,$(filter $(sm),core ldelf)) build-ubsan := $(CFG_TA_SANITIZE_UNDEFINED) endif srcs-$(build-ubsan) += ubsan.c cflags-remove-ubsan.c-y += -fsanitize=undefined ifneq (,$(filter $(sm)-$(CFG_CORE_SANITIZE_KADDRESS),core-y ldelf-y)) build-asan := y endif ifeq (,$(filter $(sm),core ldelf)) build-asan := $(CFG_TA_SANITIZE_KADDRESS) endif srcs-$(build-asan) += asan.c asan_test.c cflags-remove-asan.c-y += $(finstrument-functions) cflags-remove-asan.c-y += -fsanitize=kernel-address -fasan-% --param=asan-% ifneq (,$(filter ta_%,$(sm))) srcs-y += pthread_stubs.c endif subdirs-y += arch/$(ARCH) subdirs-y += ftrace