Merge "soong: HWASan exclude path support" into main am: f3d52683a9

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2721423

Change-Id: I79f0f214ed7fb87b347736b1e453a53029bac5dd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot 2023-09-06 01:46:29 +00:00 committed by Automerger Merge Worker
commit d24ed92a49
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 {