https://github.com/torvalds/linux
Raw File
Tip revision: d012a7190fc1fd72ed48911e77ca97ba4521bccd authored by Linus Torvalds on 23 August 2020, 21:08:43 UTC
Linux 5.9-rc2
Tip revision: d012a71
Makefile.kcsan
# SPDX-License-Identifier: GPL-2.0
# GCC and Clang accept backend options differently. Do not wrap in cc-option,
# because Clang accepts "--param" even if it is unused.
ifdef CONFIG_CC_IS_CLANG
cc-param = -mllvm -$(1)
else
cc-param = --param $(1)
endif

# Keep most options here optional, to allow enabling more compilers if absence
# of some options does not break KCSAN nor causes false positive reports.
CFLAGS_KCSAN := -fsanitize=thread \
	$(call cc-option,$(call cc-param,tsan-instrument-func-entry-exit=0) -fno-optimize-sibling-calls) \
	$(call cc-option,$(call cc-param,tsan-instrument-read-before-write=1)) \
	$(call cc-param,tsan-distinguish-volatile=1)
back to top