1 # SPDX-License-Identifier: GPL-2.0
6 # Disable ftrace to avoid recursion.
7 CFLAGS_REMOVE_common.o = $(CC_FLAGS_FTRACE)
8 CFLAGS_REMOVE_generic.o = $(CC_FLAGS_FTRACE)
9 CFLAGS_REMOVE_generic_report.o = $(CC_FLAGS_FTRACE)
10 CFLAGS_REMOVE_init.o = $(CC_FLAGS_FTRACE)
11 CFLAGS_REMOVE_quarantine.o = $(CC_FLAGS_FTRACE)
12 CFLAGS_REMOVE_report.o = $(CC_FLAGS_FTRACE)
13 CFLAGS_REMOVE_shadow.o = $(CC_FLAGS_FTRACE)
14 CFLAGS_REMOVE_tags.o = $(CC_FLAGS_FTRACE)
15 CFLAGS_REMOVE_tags_report.o = $(CC_FLAGS_FTRACE)
17 # Function splitter causes unnecessary splits in __asan_load1/__asan_store1
18 # see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63533
19 CC_FLAGS_KASAN_RUNTIME := $(call cc-option, -fno-conserve-stack)
20 CC_FLAGS_KASAN_RUNTIME += -fno-stack-protector
21 # Disable branch tracing to avoid recursion.
22 CC_FLAGS_KASAN_RUNTIME += -DDISABLE_BRANCH_PROFILING
24 CFLAGS_common.o := $(CC_FLAGS_KASAN_RUNTIME)
25 CFLAGS_generic.o := $(CC_FLAGS_KASAN_RUNTIME)
26 CFLAGS_generic_report.o := $(CC_FLAGS_KASAN_RUNTIME)
27 CFLAGS_init.o := $(CC_FLAGS_KASAN_RUNTIME)
28 CFLAGS_quarantine.o := $(CC_FLAGS_KASAN_RUNTIME)
29 CFLAGS_report.o := $(CC_FLAGS_KASAN_RUNTIME)
30 CFLAGS_shadow.o := $(CC_FLAGS_KASAN_RUNTIME)
31 CFLAGS_tags.o := $(CC_FLAGS_KASAN_RUNTIME)
32 CFLAGS_tags_report.o := $(CC_FLAGS_KASAN_RUNTIME)
34 obj-$(CONFIG_KASAN) := common.o report.o
35 obj-$(CONFIG_KASAN_GENERIC) += init.o generic.o generic_report.o shadow.o quarantine.o
36 obj-$(CONFIG_KASAN_SW_TAGS) += init.o shadow.o tags.o tags_report.o