Don't use APEX prebuilts when asan is on

Some prebuilt APEXes are enabled with scudo, which causes crash on
devices with asan.

Bug: 137216042
Test: build walleye_hwasan and check if apexes are not from prebuilts
Merged-In: Ic436ad06e724af952d99fb8e66358a595450eb84
(cherry picked from commit 3b98a509f1)
Change-Id: Ic436ad06e724af952d99fb8e66358a595450eb84
This commit is contained in:
Jiyong Park 2019-07-11 11:24:41 +09:00
parent b940a1499b
commit 50b81e532b
1 changed files with 10 additions and 4 deletions

View File

@ -1433,10 +1433,16 @@ func (p *Prebuilt) installable() bool {
}
func (p *Prebuilt) DepsMutator(ctx android.BottomUpMutatorContext) {
if ctx.Config().FlattenApex() && !ctx.Config().UnbundledBuild() && p.prebuilt.SourceExists() {
// If the device is configured to use flattened APEX, don't set
// p.properties.Source so that the prebuilt module (which is
// a non-flattened APEX) is not used.
// If the device is configured to use flattened APEX, don't set
// p.properties.Source so that the prebuilt module (which is
// a non-flattened APEX) is not used.
forceDisable := ctx.Config().FlattenApex() && !ctx.Config().UnbundledBuild()
// b/137216042 don't use prebuilts when address sanitizer is on
forceDisable = forceDisable || android.InList("address", ctx.Config().SanitizeDevice()) ||
android.InList("hwaddress", ctx.Config().SanitizeDevice())
if forceDisable && p.prebuilt.SourceExists() {
p.properties.ForceDisable = true
return
}