Refactor sanitized library on-disk layout - Soong.
This CL moves the location of ASAN-ified libraries on disk in the following manner: /data/lib* --> /data/asan/system/lib* /data/vendor/* --> /data/asan/vendor/* There are a couple of advantages to this, including better isolation from other components, and more transparent linker renaming and SELinux policies. Bug: 36574794 Bug: 36674745 Test: m -j40 && SANITIZE_TARGET="address" m -j40 and the device boots. All sanitized libraries are correctly located in /data/asan/*. Change-Id: I06bf459260ec451d4495a02562f640ad622f34c2
This commit is contained in:
committed by
Colin Cross
parent
c31994825a
commit
1dd8839286
@@ -89,6 +89,7 @@ type ModuleContext interface {
|
||||
AddMissingDependencies(deps []string)
|
||||
|
||||
InstallInData() bool
|
||||
InstallInSanitizerDir() bool
|
||||
|
||||
RequiredModuleNames() []string
|
||||
}
|
||||
@@ -103,6 +104,7 @@ type Module interface {
|
||||
Enabled() bool
|
||||
Target() Target
|
||||
InstallInData() bool
|
||||
InstallInSanitizerDir() bool
|
||||
SkipInstall()
|
||||
}
|
||||
|
||||
@@ -399,6 +401,10 @@ func (p *ModuleBase) InstallInData() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (p *ModuleBase) InstallInSanitizerDir() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (a *ModuleBase) generateModuleTarget(ctx blueprint.ModuleContext) {
|
||||
allInstalledFiles := Paths{}
|
||||
allCheckbuildFiles := Paths{}
|
||||
@@ -629,6 +635,10 @@ func (a *androidModuleContext) InstallInData() bool {
|
||||
return a.module.InstallInData()
|
||||
}
|
||||
|
||||
func (a *androidModuleContext) InstallInSanitizerDir() bool {
|
||||
return a.module.InstallInSanitizerDir()
|
||||
}
|
||||
|
||||
func (a *androidModuleContext) InstallFileName(installPath OutputPath, name string, srcPath Path,
|
||||
deps ...Path) OutputPath {
|
||||
|
||||
|
Reference in New Issue
Block a user