Merge "Create sanitizer variants of APEX only when SANITIZE_TARGET is set"
This commit is contained in:
14
apex/apex.go
14
apex/apex.go
@@ -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) {
|
||||
|
@@ -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())
|
||||
}
|
||||
|
Reference in New Issue
Block a user