Add BuiltinsRuntimeLibrary

... and rename SanitizerRuntimeLibrary to LibclangRuntimeLibrary since
some of them are not sanitizers.

Bug: 29275768
Test: m
Change-Id: Id638adea42d22b02438fce26120aa155bea14d42
diff --git a/cc/config/arm64_device.go b/cc/config/arm64_device.go
index f412583..6fdd524 100644
--- a/cc/config/arm64_device.go
+++ b/cc/config/arm64_device.go
@@ -238,7 +238,7 @@
 	return t.toolchainClangCflags
 }
 
-func (toolchainArm64) SanitizerRuntimeLibraryArch() string {
+func (toolchainArm64) LibclangRuntimeLibraryArch() string {
 	return "aarch64"
 }
 
diff --git a/cc/config/arm_device.go b/cc/config/arm_device.go
index 4719fb7..4135179 100644
--- a/cc/config/arm_device.go
+++ b/cc/config/arm_device.go
@@ -397,7 +397,7 @@
 	}
 }
 
-func (toolchainArm) SanitizerRuntimeLibraryArch() string {
+func (toolchainArm) LibclangRuntimeLibraryArch() string {
 	return "arm"
 }
 
diff --git a/cc/config/mips64_device.go b/cc/config/mips64_device.go
index 6fa2571..0c4640b 100644
--- a/cc/config/mips64_device.go
+++ b/cc/config/mips64_device.go
@@ -160,7 +160,7 @@
 	return "${config.Mips64ClangLdflags}"
 }
 
-func (toolchainMips64) SanitizerRuntimeLibraryArch() string {
+func (toolchainMips64) LibclangRuntimeLibraryArch() string {
 	return "mips64"
 }
 
diff --git a/cc/config/mips_device.go b/cc/config/mips_device.go
index b815fc6..eb44fd5 100644
--- a/cc/config/mips_device.go
+++ b/cc/config/mips_device.go
@@ -210,7 +210,7 @@
 	return "${config.MipsClangLdflags}"
 }
 
-func (toolchainMips) SanitizerRuntimeLibraryArch() string {
+func (toolchainMips) LibclangRuntimeLibraryArch() string {
 	return "mips"
 }
 
diff --git a/cc/config/toolchain.go b/cc/config/toolchain.go
index 39b5df4..fefe7c2 100644
--- a/cc/config/toolchain.go
+++ b/cc/config/toolchain.go
@@ -79,7 +79,7 @@
 	ShlibSuffix() string
 	ExecutableSuffix() string
 
-	SanitizerRuntimeLibraryArch() string
+	LibclangRuntimeLibraryArch() string
 
 	AvailableLibraries() []string
 
@@ -156,7 +156,7 @@
 	return ""
 }
 
-func (toolchainBase) SanitizerRuntimeLibraryArch() string {
+func (toolchainBase) LibclangRuntimeLibraryArch() string {
 	return ""
 }
 
@@ -214,44 +214,48 @@
 	return list
 }
 
-func SanitizerRuntimeLibrary(t Toolchain, sanitizer string) string {
-	arch := t.SanitizerRuntimeLibraryArch()
+func LibclangRuntimeLibrary(t Toolchain, library string) string {
+	arch := t.LibclangRuntimeLibraryArch()
 	if arch == "" {
 		return ""
 	}
-	return "libclang_rt." + sanitizer + "-" + arch + "-android"
+	return "libclang_rt." + library + "-" + arch + "-android"
+}
+
+func BuiltinsRuntimeLibrary(t Toolchain) string {
+	return LibclangRuntimeLibrary(t, "builtins")
 }
 
 func AddressSanitizerRuntimeLibrary(t Toolchain) string {
-	return SanitizerRuntimeLibrary(t, "asan")
+	return LibclangRuntimeLibrary(t, "asan")
 }
 
 func HWAddressSanitizerRuntimeLibrary(t Toolchain) string {
-	return SanitizerRuntimeLibrary(t, "hwasan")
+	return LibclangRuntimeLibrary(t, "hwasan")
 }
 
 func HWAddressSanitizerStaticLibrary(t Toolchain) string {
-	return SanitizerRuntimeLibrary(t, "hwasan_static")
+	return LibclangRuntimeLibrary(t, "hwasan_static")
 }
 
 func UndefinedBehaviorSanitizerRuntimeLibrary(t Toolchain) string {
-	return SanitizerRuntimeLibrary(t, "ubsan_standalone")
+	return LibclangRuntimeLibrary(t, "ubsan_standalone")
 }
 
 func UndefinedBehaviorSanitizerMinimalRuntimeLibrary(t Toolchain) string {
-	return SanitizerRuntimeLibrary(t, "ubsan_minimal")
+	return LibclangRuntimeLibrary(t, "ubsan_minimal")
 }
 
 func ThreadSanitizerRuntimeLibrary(t Toolchain) string {
-	return SanitizerRuntimeLibrary(t, "tsan")
+	return LibclangRuntimeLibrary(t, "tsan")
 }
 
 func ProfileRuntimeLibrary(t Toolchain) string {
-	return SanitizerRuntimeLibrary(t, "profile")
+	return LibclangRuntimeLibrary(t, "profile")
 }
 
 func ScudoRuntimeLibrary(t Toolchain) string {
-	return SanitizerRuntimeLibrary(t, "scudo")
+	return LibclangRuntimeLibrary(t, "scudo")
 }
 
 func ToolPath(t Toolchain) string {
diff --git a/cc/config/x86_64_device.go b/cc/config/x86_64_device.go
index ba03094..5e2dc49 100644
--- a/cc/config/x86_64_device.go
+++ b/cc/config/x86_64_device.go
@@ -227,7 +227,7 @@
 	return "${config.X86_64YasmFlags}"
 }
 
-func (toolchainX86_64) SanitizerRuntimeLibraryArch() string {
+func (toolchainX86_64) LibclangRuntimeLibraryArch() string {
 	return "x86_64"
 }
 
diff --git a/cc/config/x86_device.go b/cc/config/x86_device.go
index 15188cf..ffdf8ea 100644
--- a/cc/config/x86_device.go
+++ b/cc/config/x86_device.go
@@ -251,7 +251,7 @@
 	return "${config.X86YasmFlags}"
 }
 
-func (toolchainX86) SanitizerRuntimeLibraryArch() string {
+func (toolchainX86) LibclangRuntimeLibraryArch() string {
 	return "i686"
 }