Support tsan in Android.bp.
Bug: http://b/25392375
Test: build a unit test with tsan.
Change-Id: Ifbd30e41e3a9558a8f106750c2a08778db5d5c81
diff --git a/cc/sanitize.go b/cc/sanitize.go
index b8b5ffa..74f4bdb 100644
--- a/cc/sanitize.go
+++ b/cc/sanitize.go
@@ -342,6 +342,10 @@
diagSanitizers = append(diagSanitizers, "address")
}
+ if Bool(sanitize.Properties.Sanitize.Thread) {
+ sanitizers = append(sanitizers, "thread")
+ }
+
if Bool(sanitize.Properties.Sanitize.Coverage) {
flags.CFlags = append(flags.CFlags, "-fsanitize-coverage=trace-pc-guard,indirect-calls,trace-cmp")
}
@@ -408,6 +412,8 @@
runtimeLibrary := ""
if Bool(sanitize.Properties.Sanitize.Address) {
runtimeLibrary = config.AddressSanitizerRuntimeLibrary(ctx.toolchain())
+ } else if Bool(sanitize.Properties.Sanitize.Thread) {
+ runtimeLibrary = config.ThreadSanitizerRuntimeLibrary(ctx.toolchain())
} else if len(diagSanitizers) > 0 {
runtimeLibrary = config.UndefinedBehaviorSanitizerRuntimeLibrary(ctx.toolchain())
}