Merge "Export sanitizer paths to Make" am: 2e91786932
am: 6ef7afc9fe
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1990671 Change-Id: Ibf6c247413b3b1b6d30678d2a8badc5e1860fe82
This commit is contained in:
@@ -255,14 +255,43 @@ func makeVarsToolchain(ctx android.MakeVarsContext, secondPrefix string,
|
|||||||
}, " "))
|
}, " "))
|
||||||
|
|
||||||
if target.Os.Class == android.Device {
|
if target.Os.Class == android.Device {
|
||||||
ctx.Strict(secondPrefix+"ADDRESS_SANITIZER_RUNTIME_LIBRARY", strings.TrimSuffix(config.AddressSanitizerRuntimeLibrary(toolchain), ".so"))
|
sanitizerVariables := map[string]string{
|
||||||
ctx.Strict(secondPrefix+"HWADDRESS_SANITIZER_RUNTIME_LIBRARY", strings.TrimSuffix(config.HWAddressSanitizerRuntimeLibrary(toolchain), ".so"))
|
"ADDRESS_SANITIZER_RUNTIME_LIBRARY": config.AddressSanitizerRuntimeLibrary(toolchain),
|
||||||
ctx.Strict(secondPrefix+"HWADDRESS_SANITIZER_STATIC_LIBRARY", strings.TrimSuffix(config.HWAddressSanitizerStaticLibrary(toolchain), ".a"))
|
"HWADDRESS_SANITIZER_RUNTIME_LIBRARY": config.HWAddressSanitizerRuntimeLibrary(toolchain),
|
||||||
ctx.Strict(secondPrefix+"UBSAN_RUNTIME_LIBRARY", strings.TrimSuffix(config.UndefinedBehaviorSanitizerRuntimeLibrary(toolchain), ".so"))
|
"HWADDRESS_SANITIZER_STATIC_LIBRARY": config.HWAddressSanitizerStaticLibrary(toolchain),
|
||||||
ctx.Strict(secondPrefix+"UBSAN_MINIMAL_RUNTIME_LIBRARY", strings.TrimSuffix(config.UndefinedBehaviorSanitizerMinimalRuntimeLibrary(toolchain), ".a"))
|
"UBSAN_RUNTIME_LIBRARY": config.UndefinedBehaviorSanitizerRuntimeLibrary(toolchain),
|
||||||
ctx.Strict(secondPrefix+"TSAN_RUNTIME_LIBRARY", strings.TrimSuffix(config.ThreadSanitizerRuntimeLibrary(toolchain), ".so"))
|
"UBSAN_MINIMAL_RUNTIME_LIBRARY": config.UndefinedBehaviorSanitizerMinimalRuntimeLibrary(toolchain),
|
||||||
ctx.Strict(secondPrefix+"SCUDO_RUNTIME_LIBRARY", strings.TrimSuffix(config.ScudoRuntimeLibrary(toolchain), ".so"))
|
"TSAN_RUNTIME_LIBRARY": config.ThreadSanitizerRuntimeLibrary(toolchain),
|
||||||
ctx.Strict(secondPrefix+"SCUDO_MINIMAL_RUNTIME_LIBRARY", strings.TrimSuffix(config.ScudoMinimalRuntimeLibrary(toolchain), ".so"))
|
"SCUDO_RUNTIME_LIBRARY": config.ScudoRuntimeLibrary(toolchain),
|
||||||
|
"SCUDO_MINIMAL_RUNTIME_LIBRARY": config.ScudoMinimalRuntimeLibrary(toolchain),
|
||||||
|
}
|
||||||
|
|
||||||
|
for variable, value := range sanitizerVariables {
|
||||||
|
ctx.Strict(secondPrefix+variable, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
sanitizerLibs := android.SortedStringValues(sanitizerVariables)
|
||||||
|
var sanitizerLibStems []string
|
||||||
|
ctx.VisitAllModules(func(m android.Module) {
|
||||||
|
if !m.Enabled() {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ccModule, _ := m.(*Module)
|
||||||
|
if ccModule == nil || ccModule.library == nil || !ccModule.library.shared() {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if android.InList(strings.TrimPrefix(ctx.ModuleName(m), "prebuilt_"), sanitizerLibs) &&
|
||||||
|
m.Target().Os == target.Os && m.Target().Arch.ArchType == target.Arch.ArchType {
|
||||||
|
outputFile := ccModule.outputFile
|
||||||
|
if outputFile.Valid() {
|
||||||
|
sanitizerLibStems = append(sanitizerLibStems, outputFile.Path().Base())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
sanitizerLibStems = android.SortedUniqueStrings(sanitizerLibStems)
|
||||||
|
ctx.Strict(secondPrefix+"SANITIZER_STEMS", strings.Join(sanitizerLibStems, " "))
|
||||||
}
|
}
|
||||||
|
|
||||||
// This is used by external/gentoo/...
|
// This is used by external/gentoo/...
|
||||||
|
Reference in New Issue
Block a user