Add sanitizer runtime library to recovery when needed.
Make sanitized targets in recovery depend on ".recovery" flavor of
sanitizer runtime library. This forces installation of the runtime
library in recovery image as long as at least one target depends on it.
Test: hwasan build can boot into recovery
Bug: 112438058
Bug: 119582521
Change-Id: I1b7f9fa4ff5f29acb03c27074512ea24467a3d37
diff --git a/cc/sanitize.go b/cc/sanitize.go
index 96c149a..56013b6 100644
--- a/cc/sanitize.go
+++ b/cc/sanitize.go
@@ -49,7 +49,7 @@
cfiStaticLibsMutex sync.Mutex
hwasanStaticLibsMutex sync.Mutex
- intOverflowCflags = []string{"-fsanitize-blacklist=build/soong/cc/config/integer_overflow_blacklist.txt"}
+ intOverflowCflags = []string{"-fsanitize-blacklist=build/soong/cc/config/integer_overflow_blacklist.txt"}
// Pass -Xclang before -fsanitize-minimal-runtime to work around a driver
// check which rejects -fsanitize-minimal-runtime together with
@@ -576,9 +576,12 @@
sanitize.runtimeLibrary = runtimeLibrary
// When linking against VNDK, use the vendor variant of the runtime lib
- sanitize.androidMkRuntimeLibrary = sanitize.runtimeLibrary
if ctx.useVndk() {
sanitize.androidMkRuntimeLibrary = sanitize.runtimeLibrary + vendorSuffix
+ } else if ctx.inRecovery() {
+ sanitize.androidMkRuntimeLibrary = sanitize.runtimeLibrary + recoverySuffix
+ } else {
+ sanitize.androidMkRuntimeLibrary = sanitize.runtimeLibrary
}
}