blob: 20337a7ecf5409953246aa2ecc12c7c510dc84a9 [file] [log] [blame]
Marco Elverdfd402a2019-11-14 19:02:54 +01001# SPDX-License-Identifier: GPL-2.0
2ifdef CONFIG_KCSAN
3
Marco Elver17168f52020-05-21 16:20:38 +02004# GCC and Clang accept backend options differently. Do not wrap in cc-option,
5# because Clang accepts "--param" even if it is unused.
6ifdef CONFIG_CC_IS_CLANG
7cc-param = -mllvm -$(1)
8else
9cc-param = --param -$(1)
10endif
11
12CFLAGS_KCSAN := -fsanitize=thread \
13 $(call cc-option,$(call cc-param,tsan-instrument-func-entry-exit=0) -fno-optimize-sibling-calls)
Marco Elverdfd402a2019-11-14 19:02:54 +010014
15endif # CONFIG_KCSAN