Merge "soong: HWASan exclude path support" into main
This commit is contained in:
@@ -1662,11 +1662,18 @@ func (c *config) MemtagHeapSyncEnabledForPath(path string) bool {
|
|||||||
return HasAnyPrefix(path, c.productVariables.MemtagHeapSyncIncludePaths) && !c.MemtagHeapDisabledForPath(path)
|
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 {
|
func (c *config) HWASanEnabledForPath(path string) bool {
|
||||||
if len(c.productVariables.HWASanIncludePaths) == 0 {
|
if len(c.productVariables.HWASanIncludePaths) == 0 {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return HasAnyPrefix(path, c.productVariables.HWASanIncludePaths)
|
return HasAnyPrefix(path, c.productVariables.HWASanIncludePaths) && !c.HWASanDisabledForPath(path)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *config) VendorConfig(name string) VendorConfig {
|
func (c *config) VendorConfig(name string) VendorConfig {
|
||||||
|
@@ -315,6 +315,7 @@ type ProductVariables struct {
|
|||||||
MemtagHeapSyncIncludePaths []string `json:",omitempty"`
|
MemtagHeapSyncIncludePaths []string `json:",omitempty"`
|
||||||
|
|
||||||
HWASanIncludePaths []string `json:",omitempty"`
|
HWASanIncludePaths []string `json:",omitempty"`
|
||||||
|
HWASanExcludePaths []string `json:",omitempty"`
|
||||||
|
|
||||||
VendorPath *string `json:",omitempty"`
|
VendorPath *string `json:",omitempty"`
|
||||||
OdmPath *string `json:",omitempty"`
|
OdmPath *string `json:",omitempty"`
|
||||||
|
@@ -553,7 +553,9 @@ func (sanitize *sanitize) begin(ctx BaseModuleContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if found, globalSanitizers = removeFromList("hwaddress", globalSanitizers); found && s.Hwaddress == nil {
|
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 {
|
if found, globalSanitizers = removeFromList("writeonly", globalSanitizers); found && s.Writeonly == nil {
|
||||||
|
Reference in New Issue
Block a user