summaryrefslogtreecommitdiff
path: root/cc
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2017-03-29 00:45:34 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2017-03-29 00:45:35 +0000
commit9e3f627ea73b3982d8be5ad8b402b4264aab0b18 (patch)
treecd69fab5269d4f15c83a29ca9093ecb41a87dd3d /cc
parent32b692240f01023b92858b163790bf06d194f746 (diff)
parent16b626b827c3ca214daf7ab69cad4c4f408aa47d (diff)
Merge "Export TSAN_RUNTIME_LIBRARY make variable"
Diffstat (limited to 'cc')
-rw-r--r--cc/config/toolchain.go18
-rw-r--r--cc/makevars.go1
2 files changed, 12 insertions, 7 deletions
diff --git a/cc/config/toolchain.go b/cc/config/toolchain.go
index 8fc4a21e4..527043701 100644
--- a/cc/config/toolchain.go
+++ b/cc/config/toolchain.go
@@ -207,20 +207,24 @@ func inList(s string, list []string) bool {
return indexList(s, list) != -1
}
-func AddressSanitizerRuntimeLibrary(t Toolchain) string {
+func SanitizerRuntimeLibrary(t Toolchain, sanitizer string) string {
arch := t.SanitizerRuntimeLibraryArch()
if arch == "" {
return ""
}
- return "libclang_rt.asan-" + arch + "-android.so"
+ return "libclang_rt." + sanitizer + "-" + arch + "-android.so"
+}
+
+func AddressSanitizerRuntimeLibrary(t Toolchain) string {
+ return SanitizerRuntimeLibrary(t, "asan")
}
func UndefinedBehaviorSanitizerRuntimeLibrary(t Toolchain) string {
- arch := t.SanitizerRuntimeLibraryArch()
- if arch == "" {
- return ""
- }
- return "libclang_rt.ubsan_standalone-" + arch + "-android.so"
+ return SanitizerRuntimeLibrary(t, "ubsan_standalone")
+}
+
+func ThreadSanitizerRuntimeLibrary(t Toolchain) string {
+ return SanitizerRuntimeLibrary(t, "tsan")
}
func ToolPath(t Toolchain) string {
diff --git a/cc/makevars.go b/cc/makevars.go
index 200fafffe..dcde8285e 100644
--- a/cc/makevars.go
+++ b/cc/makevars.go
@@ -209,6 +209,7 @@ func makeVarsToolchain(ctx android.MakeVarsContext, secondPrefix string,
if target.Os.Class == android.Device {
ctx.Strict(secondPrefix+"ADDRESS_SANITIZER_RUNTIME_LIBRARY", strings.TrimSuffix(config.AddressSanitizerRuntimeLibrary(toolchain), ".so"))
ctx.Strict(secondPrefix+"UBSAN_RUNTIME_LIBRARY", strings.TrimSuffix(config.UndefinedBehaviorSanitizerRuntimeLibrary(toolchain), ".so"))
+ ctx.Strict(secondPrefix+"TSAN_RUNTIME_LIBRARY", strings.TrimSuffix(config.ThreadSanitizerRuntimeLibrary(toolchain), ".so"))
}
// This is used by external/gentoo/...