GCC 11 has introduced a new warning option, -Wtsan [1], to warn about unsupported operations in the TSan runtime. But KCSAN != TSan runtime, so none of the warnings apply. [1] https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Warning-Options.html Ignore the warnings. Currently the warning only fires in the test for __atomic_thread_fence(): kernel/kcsan/kcsan_test.c: In function ‘test_atomic_builtins’: kernel/kcsan/kcsan_test.c:1234:17: warning: ‘atomic_thread_fence’ is not supported with ‘-fsanitize=thread’ [-Wtsan] 1234 | __atomic_thread_fence(__ATOMIC_SEQ_CST); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ which exists to ensure the KCSAN runtime keeps supporting the builtin instrumentation.
Showing the changes to scripts (1 of 1 file). Show all
Unified · Split
| @@ -13,6 +13,12 @@ kcsan-cflags := -fsanitize=thread -fno-optimize-sibling-calls \ · 12 unmodified lines | ||
| 13 | 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 | 14 | $(call cc-param,tsan-distinguish-volatile=1) |
| 15 | 15 | |
| 16 | +ifdef CONFIG_CC_IS_GCC | |
| 17 | +# GCC started warning about operations unsupported by the TSan runtime. But | |
| 18 | +# KCSAN != TSan, so just ignore these warnings. | |
| 19 | +kcsan-cflags += -Wno-tsan | |
| 20 | +endif | |
| 21 | + | |
| 16 | 22 | ifndef CONFIG_KCSAN_WEAK_MEMORY |
| 17 | 23 | kcsan-cflags += $(call cc-option,$(call cc-param,tsan-instrument-func-entry-exit=0)) |
| 18 | 24 | endif |