~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/scripts/Makefile.kcsan

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /scripts/Makefile.kcsan (Architecture mips) and /scripts/Makefile.kcsan (Architecture i386)


  1 # SPDX-License-Identifier: GPL-2.0                  1 # SPDX-License-Identifier: GPL-2.0
  2 # GCC and Clang accept backend options differe      2 # GCC and Clang accept backend options differently. Do not wrap in cc-option,
  3 # because Clang accepts "--param" even if it i      3 # because Clang accepts "--param" even if it is unused.
  4 ifdef CONFIG_CC_IS_CLANG                            4 ifdef CONFIG_CC_IS_CLANG
  5 cc-param = -mllvm -$(1)                             5 cc-param = -mllvm -$(1)
  6 else                                                6 else
  7 cc-param = --param $(1)                             7 cc-param = --param $(1)
  8 endif                                               8 endif
  9                                                     9 
 10 # Keep most options here optional, to allow en     10 # Keep most options here optional, to allow enabling more compilers if absence
 11 # of some options does not break KCSAN nor cau     11 # of some options does not break KCSAN nor causes false positive reports.
 12 kcsan-cflags := -fsanitize=thread -fno-optimiz     12 kcsan-cflags := -fsanitize=thread -fno-optimize-sibling-calls \
 13         $(call cc-option,$(call cc-param,tsan-     13         $(call cc-option,$(call cc-param,tsan-compound-read-before-write=1),$(call cc-option,$(call cc-param,tsan-instrument-read-before-write=1))) \
 14         $(call cc-param,tsan-distinguish-volat     14         $(call cc-param,tsan-distinguish-volatile=1)
 15                                                    15 
 16 ifdef CONFIG_CC_IS_GCC                             16 ifdef CONFIG_CC_IS_GCC
 17 # GCC started warning about operations unsuppo     17 # GCC started warning about operations unsupported by the TSan runtime. But
 18 # KCSAN != TSan, so just ignore these warnings     18 # KCSAN != TSan, so just ignore these warnings.
 19 kcsan-cflags += -Wno-tsan                          19 kcsan-cflags += -Wno-tsan
 20 endif                                              20 endif
 21                                                    21 
 22 ifndef CONFIG_KCSAN_WEAK_MEMORY                    22 ifndef CONFIG_KCSAN_WEAK_MEMORY
 23 kcsan-cflags += $(call cc-option,$(call cc-par     23 kcsan-cflags += $(call cc-option,$(call cc-param,tsan-instrument-func-entry-exit=0))
 24 endif                                              24 endif
 25                                                    25 
 26 export CFLAGS_KCSAN := $(kcsan-cflags)             26 export CFLAGS_KCSAN := $(kcsan-cflags)
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php