From 18aed6a623f86f02eb342205d4fc9c7f6928805d Mon Sep 17 00:00:00 2001 From: Adam Buchbinder Date: Wed, 12 Jul 2017 13:04:49 -0700 Subject: [PATCH] btrfs-progs: build: Enable ThreadSanitizer, using D=tsan Tested with clang-3.9. We have to enable PIE, (https://clang.llvm.org/docs/ThreadSanitizer.html) Signed-off-by: Adam Buchbinder Signed-off-by: David Sterba --- Makefile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Makefile b/Makefile index 487626f3..b3e2b636 100644 --- a/Makefile +++ b/Makefile @@ -17,6 +17,7 @@ # abort - call abort() on first error (dumps core) # all - shortcut for all of the above # asan - enable address sanitizer compiler feature +# tsan - enable thread sanitizer compiler feature # ubsan - undefined behaviour sanitizer compiler feature # bcheck - extended build checks # W=123 build with warnings (default: off) @@ -157,6 +158,11 @@ ifneq (,$(findstring asan,$(D))) DEBUG_CFLAGS_INTERNAL += -fsanitize=address endif +ifneq (,$(findstring tsan,$(D))) + DEBUG_CFLAGS_INTERNAL += -fsanitize=thread -fPIE + LD_FLAGS += -fsanitize=thread -ltsan -pie +endif + ifneq (,$(findstring ubsan,$(D))) DEBUG_CFLAGS_INTERNAL += -fsanitize=undefined endif