CFI include/exclude path support (Soong)

This CL adds the ability to centrally enable or disable CFI for
components using either an environment or product config
variable. This is a better, nore manageable option that enabling CFI
across each component individually.

Bug: 67507323
Test: CFI_INCLUDE_PATHS= system/nfc m -j40
Test: CFI_EXCLUDE_PATHS = frameworks/av m -j40

Change-Id: I38b77946759121aec99ab25f31aaee2e5d993f73
This commit is contained in:
Vishwath Mohan
2017-10-31 02:26:14 -07:00
parent 06643be323
commit 1fa3ac552d
3 changed files with 34 additions and 2 deletions

View File

@@ -656,3 +656,17 @@ func (c *config) IntegerOverflowDisabledForPath(path string) bool {
}
return prefixInList(path, *c.ProductVariables.IntegerOverflowExcludePaths)
}
func (c *config) CFIDisabledForPath(path string) bool {
if c.ProductVariables.CFIExcludePaths == nil {
return false
}
return prefixInList(path, *c.ProductVariables.CFIExcludePaths)
}
func (c *config) CFIEnabledForPath(path string) bool {
if c.ProductVariables.CFIIncludePaths == nil {
return false
}
return prefixInList(path, *c.ProductVariables.CFIIncludePaths)
}