GNU Linux-libre 6.9-gnu
[releases.git] / mm / kmsan / Makefile
1 # SPDX-License-Identifier: GPL-2.0
2 #
3 # Makefile for KernelMemorySanitizer (KMSAN).
4 #
5 #
6 obj-y := core.o instrumentation.o init.o hooks.o report.o shadow.o
7
8 KMSAN_SANITIZE := n
9 KCOV_INSTRUMENT := n
10 UBSAN_SANITIZE := n
11
12 # Disable instrumentation of KMSAN runtime with other tools.
13 CC_FLAGS_KMSAN_RUNTIME := -fno-stack-protector
14 CC_FLAGS_KMSAN_RUNTIME += $(call cc-option,-fno-conserve-stack)
15 CC_FLAGS_KMSAN_RUNTIME += -DDISABLE_BRANCH_PROFILING
16
17 # Disable ftrace to avoid recursion.
18 CFLAGS_REMOVE_core.o = $(CC_FLAGS_FTRACE)
19 CFLAGS_REMOVE_hooks.o = $(CC_FLAGS_FTRACE)
20 CFLAGS_REMOVE_init.o = $(CC_FLAGS_FTRACE)
21 CFLAGS_REMOVE_instrumentation.o = $(CC_FLAGS_FTRACE)
22 CFLAGS_REMOVE_report.o = $(CC_FLAGS_FTRACE)
23 CFLAGS_REMOVE_shadow.o = $(CC_FLAGS_FTRACE)
24
25 CFLAGS_core.o := $(CC_FLAGS_KMSAN_RUNTIME)
26 CFLAGS_hooks.o := $(CC_FLAGS_KMSAN_RUNTIME)
27 CFLAGS_init.o := $(CC_FLAGS_KMSAN_RUNTIME)
28 CFLAGS_instrumentation.o := $(CC_FLAGS_KMSAN_RUNTIME)
29 CFLAGS_report.o := $(CC_FLAGS_KMSAN_RUNTIME)
30 CFLAGS_shadow.o := $(CC_FLAGS_KMSAN_RUNTIME)
31
32 obj-$(CONFIG_KMSAN_KUNIT_TEST) += kmsan_test.o
33 KMSAN_SANITIZE_kmsan_test.o := y
34 CFLAGS_kmsan_test.o += $(call cc-disable-warning, uninitialized)