26 lines
865 B
Makefile
26 lines
865 B
Makefile
|
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
|