Merge "Create sanitizer variants of APEX only when SANITIZE_TARGET is set" am: 62f6fcbbb9

am: f85699e747

Change-Id: I4c3ce8bdbf9dcbb313651ed515544a9346229b66
This commit is contained in:
Jiyong Park
2019-01-28 23:13:42 -08:00
committed by android-build-merger
2 changed files with 13 additions and 5 deletions

View File

@@ -483,9 +483,17 @@ func (a *apexBundle) getImageVariation(config android.DeviceConfig) string {
}
}
func (a *apexBundle) IsSanitizerEnabled() bool {
// APEX can be mutated for sanitizers
return true
func (a *apexBundle) IsSanitizerEnabled(ctx android.BaseModuleContext, sanitizerName string) bool {
globalSanitizerNames := []string{}
if a.Host() {
globalSanitizerNames = ctx.Config().SanitizeHost()
} else {
arches := ctx.Config().SanitizeDeviceArch()
if len(arches) == 0 || android.InList(a.Arch().ArchType.Name, arches) {
globalSanitizerNames = ctx.Config().SanitizeDevice()
}
}
return android.InList(sanitizerName, globalSanitizerNames)
}
func getCopyManifestForNativeLibrary(cc *cc.Module) (fileToCopy android.Path, dirInApex string) {

View File

@@ -820,7 +820,7 @@ func sanitizerRuntimeMutator(mctx android.BottomUpMutatorContext) {
type Sanitizeable interface {
android.Module
IsSanitizerEnabled() bool
IsSanitizerEnabled(ctx android.BaseModuleContext, sanitizerName string) bool
}
// Create sanitized variants for modules that need them
@@ -924,7 +924,7 @@ func sanitizerMutator(t sanitizerType) func(android.BottomUpMutatorContext) {
}
}
c.sanitize.Properties.SanitizeDep = false
} else if sanitizeable, ok := mctx.Module().(Sanitizeable); ok && sanitizeable.IsSanitizerEnabled() {
} else if sanitizeable, ok := mctx.Module().(Sanitizeable); ok && sanitizeable.IsSanitizerEnabled(mctx, t.String()) {
// APEX modules fall here
mctx.CreateVariations(t.String())
}