| .. | .. |
|---|
| 1 | 1 | # SPDX-License-Identifier: GPL-2.0 |
|---|
| 2 | 2 | KASAN_SANITIZE := n |
|---|
| 3 | | -UBSAN_SANITIZE_common.o := n |
|---|
| 4 | | -UBSAN_SANITIZE_generic.o := n |
|---|
| 5 | | -UBSAN_SANITIZE_generic_report.o := n |
|---|
| 6 | | -UBSAN_SANITIZE_tags.o := n |
|---|
| 3 | +UBSAN_SANITIZE := n |
|---|
| 7 | 4 | KCOV_INSTRUMENT := n |
|---|
| 8 | 5 | |
|---|
| 9 | | -CFLAGS_REMOVE_common.o = -pg |
|---|
| 10 | | -CFLAGS_REMOVE_generic.o = -pg |
|---|
| 11 | | -CFLAGS_REMOVE_generic_report.o = -pg |
|---|
| 12 | | -CFLAGS_REMOVE_tags.o = -pg |
|---|
| 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) |
|---|
| 13 | 18 | |
|---|
| 14 | 19 | # Function splitter causes unnecessary splits in __asan_load1/__asan_store1 |
|---|
| 15 | 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 |
|---|
| 16 | 25 | |
|---|
| 17 | | -CFLAGS_common.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) |
|---|
| 18 | | -CFLAGS_generic.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) |
|---|
| 19 | | -CFLAGS_generic_report.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) |
|---|
| 20 | | -CFLAGS_tags.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) |
|---|
| 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) |
|---|
| 21 | 37 | |
|---|
| 22 | | -obj-$(CONFIG_KASAN) := common.o init.o report.o |
|---|
| 23 | | -obj-$(CONFIG_KASAN_GENERIC) += generic.o generic_report.o quarantine.o |
|---|
| 24 | | -obj-$(CONFIG_KASAN_SW_TAGS) += tags.o tags_report.o |
|---|
| 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 |
|---|