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_init.o
= $(CC_FLAGS_FTRACE
)
10 CFLAGS_REMOVE_quarantine.o
= $(CC_FLAGS_FTRACE
)
11 CFLAGS_REMOVE_report.o
= $(CC_FLAGS_FTRACE
)
12 CFLAGS_REMOVE_report_generic.o
= $(CC_FLAGS_FTRACE
)
13 CFLAGS_REMOVE_report_hw_tags.o
= $(CC_FLAGS_FTRACE
)
14 CFLAGS_REMOVE_report_sw_tags.o
= $(CC_FLAGS_FTRACE
)
15 CFLAGS_REMOVE_shadow.o
= $(CC_FLAGS_FTRACE
)
16 CFLAGS_REMOVE_hw_tags.o
= $(CC_FLAGS_FTRACE
)
17 CFLAGS_REMOVE_sw_tags.o
= $(CC_FLAGS_FTRACE
)
19 # Function splitter causes unnecessary splits in __asan_load1/__asan_store1
20 # see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63533
21 CC_FLAGS_KASAN_RUNTIME
:= $(call cc-option
, -fno-conserve-stack
)
22 CC_FLAGS_KASAN_RUNTIME
+= -fno-stack-protector
23 # Disable branch tracing to avoid recursion.
24 CC_FLAGS_KASAN_RUNTIME
+= -DDISABLE_BRANCH_PROFILING
26 CFLAGS_common.o
:= $(CC_FLAGS_KASAN_RUNTIME
)
27 CFLAGS_generic.o
:= $(CC_FLAGS_KASAN_RUNTIME
)
28 CFLAGS_init.o
:= $(CC_FLAGS_KASAN_RUNTIME
)
29 CFLAGS_quarantine.o
:= $(CC_FLAGS_KASAN_RUNTIME
)
30 CFLAGS_report.o
:= $(CC_FLAGS_KASAN_RUNTIME
)
31 CFLAGS_report_generic.o
:= $(CC_FLAGS_KASAN_RUNTIME
)
32 CFLAGS_report_hw_tags.o
:= $(CC_FLAGS_KASAN_RUNTIME
)
33 CFLAGS_report_sw_tags.o
:= $(CC_FLAGS_KASAN_RUNTIME
)
34 CFLAGS_shadow.o
:= $(CC_FLAGS_KASAN_RUNTIME
)
35 CFLAGS_hw_tags.o
:= $(CC_FLAGS_KASAN_RUNTIME
)
36 CFLAGS_sw_tags.o
:= $(CC_FLAGS_KASAN_RUNTIME
)
38 obj-
$(CONFIG_KASAN
) := common.o report.o
39 obj-
$(CONFIG_KASAN_GENERIC
) += init.o generic.o report_generic.o shadow.o quarantine.o
40 obj-
$(CONFIG_KASAN_HW_TAGS
) += hw_tags.o report_hw_tags.o
41 obj-
$(CONFIG_KASAN_SW_TAGS
) += init.o report_sw_tags.o shadow.o sw_tags.o