Remove libc_scudo library when building asan.
Running any executable built with asan and libc_scudo results in crashes.
Bug: 131810078
Test: Built the media processes with the sanitizer enabled verifying
Test: that the libc_scudo.so shared library is not listed in the
Test: mediaextractor and the mediaswcodec binaries.
Test: Build the media processes without the sanitizer enabled verifying
Test: that the libc_scudo.so shared library is listed in the
Test: mediaextractor and the mediaswcodec binaries.
Change-Id: Ie55a0414088787ec11d85fffcb04592ed4f23c57
diff --git a/cc/sanitize.go b/cc/sanitize.go
index 2d80c22..14c1418 100644
--- a/cc/sanitize.go
+++ b/cc/sanitize.go
@@ -392,6 +392,11 @@
if ctx.Device() {
if Bool(sanitize.Properties.Sanitize.Address) {
deps.StaticLibs = append(deps.StaticLibs, asanLibs...)
+ // Compiling asan and having libc_scudo in the same
+ // executable will cause the executable to crash.
+ // Remove libc_scudo since it is only used to override
+ // allocation functions which asan already overrides.
+ _, deps.SharedLibs = removeFromList("libc_scudo", deps.SharedLibs)
}
}