162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# Makefile for KernelMemorySanitizer (KMSAN). 462306a36Sopenharmony_ci# 562306a36Sopenharmony_ci# 662306a36Sopenharmony_ciobj-y := core.o instrumentation.o init.o hooks.o report.o shadow.o 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciKMSAN_SANITIZE := n 962306a36Sopenharmony_ciKCOV_INSTRUMENT := n 1062306a36Sopenharmony_ciUBSAN_SANITIZE := n 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci# Disable instrumentation of KMSAN runtime with other tools. 1362306a36Sopenharmony_ciCC_FLAGS_KMSAN_RUNTIME := -fno-stack-protector 1462306a36Sopenharmony_ciCC_FLAGS_KMSAN_RUNTIME += $(call cc-option,-fno-conserve-stack) 1562306a36Sopenharmony_ciCC_FLAGS_KMSAN_RUNTIME += -DDISABLE_BRANCH_PROFILING 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci# Disable ftrace to avoid recursion. 1862306a36Sopenharmony_ciCFLAGS_REMOVE_core.o = $(CC_FLAGS_FTRACE) 1962306a36Sopenharmony_ciCFLAGS_REMOVE_hooks.o = $(CC_FLAGS_FTRACE) 2062306a36Sopenharmony_ciCFLAGS_REMOVE_init.o = $(CC_FLAGS_FTRACE) 2162306a36Sopenharmony_ciCFLAGS_REMOVE_instrumentation.o = $(CC_FLAGS_FTRACE) 2262306a36Sopenharmony_ciCFLAGS_REMOVE_report.o = $(CC_FLAGS_FTRACE) 2362306a36Sopenharmony_ciCFLAGS_REMOVE_shadow.o = $(CC_FLAGS_FTRACE) 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ciCFLAGS_core.o := $(CC_FLAGS_KMSAN_RUNTIME) 2662306a36Sopenharmony_ciCFLAGS_hooks.o := $(CC_FLAGS_KMSAN_RUNTIME) 2762306a36Sopenharmony_ciCFLAGS_init.o := $(CC_FLAGS_KMSAN_RUNTIME) 2862306a36Sopenharmony_ciCFLAGS_instrumentation.o := $(CC_FLAGS_KMSAN_RUNTIME) 2962306a36Sopenharmony_ciCFLAGS_report.o := $(CC_FLAGS_KMSAN_RUNTIME) 3062306a36Sopenharmony_ciCFLAGS_shadow.o := $(CC_FLAGS_KMSAN_RUNTIME) 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciobj-$(CONFIG_KMSAN_KUNIT_TEST) += kmsan_test.o 3362306a36Sopenharmony_ciKMSAN_SANITIZE_kmsan_test.o := y 3462306a36Sopenharmony_ciCFLAGS_kmsan_test.o += $(call cc-disable-warning, uninitialized) 35