blob: 945724d226e84ddd0396944d6f8012600d86b1b4 [file] [log] [blame]
ifdef CONFIG_KCOV
ifeq ($(call cc-option, -fsanitize-coverage=trace-pc -Werror),)
ifneq ($(CONFIG_COMPILE_TEST),y)
$(error Cannot use CONFIG_KCOV: \
-fsanitize-coverage=trace-pc is not supported by compiler)
endif
endif
ifdef CONFIG_KCOV_ENABLE_COMPARISONS
ifeq ($(call cc-option, -fsanitize-coverage=trace-cmp -Werror),)
ifneq ($(CONFIG_COMPILE_TEST),y)
$(error Cannot use CONFIG_KCOV_ENABLE_COMPARISONS: \
-fsanitize-coverage=trace-cmp is not supported by compiler)
endif
endif
endif
kcov-flags-$(CONFIG_CC_HAS_SANCOV_TRACE_PC) += -fsanitize-coverage=trace-pc
kcov-flags-$(CONFIG_KCOV_ENABLE_COMPARISONS) += -fsanitize-coverage=trace-cmp
kcov-flags-$(CONFIG_GCC_PLUGIN_SANCOV) += -fplugin=$(objtree)/scripts/gcc-plugins/sancov_plugin.so
export CFLAGS_KCOV := $(kcov-flags-y)
endif