Merge "soong: HWASan exclude path support" into main

This commit is contained in:
Treehugger Robot 2023-09-06 01:14:12 +00:00 committed by Gerrit Code Review
commit f3d52683a9
3 changed files with 12 additions and 2 deletions

View file

@ -1662,11 +1662,18 @@ func (c *config) MemtagHeapSyncEnabledForPath(path string) bool {
return HasAnyPrefix(path, c.productVariables.MemtagHeapSyncIncludePaths) && !c.MemtagHeapDisabledForPath(path)
}
func (c *config) HWASanDisabledForPath(path string) bool {
if len(c.productVariables.HWASanExcludePaths) == 0 {
return false
}
return HasAnyPrefix(path, c.productVariables.HWASanExcludePaths)
}
func (c *config) HWASanEnabledForPath(path string) bool {
if len(c.productVariables.HWASanIncludePaths) == 0 {
return false
}
return HasAnyPrefix(path, c.productVariables.HWASanIncludePaths)
return HasAnyPrefix(path, c.productVariables.HWASanIncludePaths) && !c.HWASanDisabledForPath(path)
}
func (c *config) VendorConfig(name string) VendorConfig {

View file

@ -315,6 +315,7 @@ type ProductVariables struct {
MemtagHeapSyncIncludePaths []string `json:",omitempty"`
HWASanIncludePaths []string `json:",omitempty"`
HWASanExcludePaths []string `json:",omitempty"`
VendorPath *string `json:",omitempty"`
OdmPath *string `json:",omitempty"`

View file

@ -553,7 +553,9 @@ func (sanitize *sanitize) begin(ctx BaseModuleContext) {
}
if found, globalSanitizers = removeFromList("hwaddress", globalSanitizers); found && s.Hwaddress == nil {
s.Hwaddress = proptools.BoolPtr(true)
if !ctx.Config().HWASanDisabledForPath(ctx.ModuleDir()) {
s.Hwaddress = proptools.BoolPtr(true)
}
}
if found, globalSanitizers = removeFromList("writeonly", globalSanitizers); found && s.Writeonly == nil {