xref: /linux/mm/kasan/Makefile (revision bf80eef2212a1e8451df13b52533f4bc31bb4f8e)
1# SPDX-License-Identifier: GPL-2.0
2KASAN_SANITIZE := n
3UBSAN_SANITIZE := n
4KCOV_INSTRUMENT := n
5
6# Disable ftrace to avoid recursion.
7CFLAGS_REMOVE_common.o = $(CC_FLAGS_FTRACE)
8CFLAGS_REMOVE_generic.o = $(CC_FLAGS_FTRACE)
9CFLAGS_REMOVE_init.o = $(CC_FLAGS_FTRACE)
10CFLAGS_REMOVE_quarantine.o = $(CC_FLAGS_FTRACE)
11CFLAGS_REMOVE_report.o = $(CC_FLAGS_FTRACE)
12CFLAGS_REMOVE_report_generic.o = $(CC_FLAGS_FTRACE)
13CFLAGS_REMOVE_report_hw_tags.o = $(CC_FLAGS_FTRACE)
14CFLAGS_REMOVE_report_sw_tags.o = $(CC_FLAGS_FTRACE)
15CFLAGS_REMOVE_shadow.o = $(CC_FLAGS_FTRACE)
16CFLAGS_REMOVE_hw_tags.o = $(CC_FLAGS_FTRACE)
17CFLAGS_REMOVE_sw_tags.o = $(CC_FLAGS_FTRACE)
18
19# Function splitter causes unnecessary splits in __asan_load1/__asan_store1
20# see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63533
21CC_FLAGS_KASAN_RUNTIME := $(call cc-option, -fno-conserve-stack)
22CC_FLAGS_KASAN_RUNTIME += -fno-stack-protector
23# Disable branch tracing to avoid recursion.
24CC_FLAGS_KASAN_RUNTIME += -DDISABLE_BRANCH_PROFILING
25
26CFLAGS_common.o := $(CC_FLAGS_KASAN_RUNTIME)
27CFLAGS_generic.o := $(CC_FLAGS_KASAN_RUNTIME)
28CFLAGS_init.o := $(CC_FLAGS_KASAN_RUNTIME)
29CFLAGS_quarantine.o := $(CC_FLAGS_KASAN_RUNTIME)
30CFLAGS_report.o := $(CC_FLAGS_KASAN_RUNTIME)
31CFLAGS_report_generic.o := $(CC_FLAGS_KASAN_RUNTIME)
32CFLAGS_report_hw_tags.o := $(CC_FLAGS_KASAN_RUNTIME)
33CFLAGS_report_sw_tags.o := $(CC_FLAGS_KASAN_RUNTIME)
34CFLAGS_shadow.o := $(CC_FLAGS_KASAN_RUNTIME)
35CFLAGS_hw_tags.o := $(CC_FLAGS_KASAN_RUNTIME)
36CFLAGS_sw_tags.o := $(CC_FLAGS_KASAN_RUNTIME)
37
38CFLAGS_KASAN_TEST := $(CFLAGS_KASAN) -fno-builtin $(call cc-disable-warning, vla)
39
40CFLAGS_kasan_test.o := $(CFLAGS_KASAN_TEST)
41CFLAGS_kasan_test_module.o := $(CFLAGS_KASAN_TEST)
42
43obj-y := common.o report.o
44obj-$(CONFIG_KASAN_GENERIC) += init.o generic.o report_generic.o shadow.o quarantine.o
45obj-$(CONFIG_KASAN_HW_TAGS) += hw_tags.o report_hw_tags.o tags.o report_tags.o
46obj-$(CONFIG_KASAN_SW_TAGS) += init.o report_sw_tags.o shadow.o sw_tags.o tags.o report_tags.o
47
48obj-$(CONFIG_KASAN_KUNIT_TEST) += kasan_test.o
49obj-$(CONFIG_KASAN_MODULE_TEST) += kasan_test_module.o
50