aboutsummaryrefslogtreecommitdiffstats
path: root/cc/installer.go
diff options
context:
space:
mode:
authorVishwath Mohan <vishwath@google.com>2017-03-29 22:00:18 -0700
committerColin Cross <ccross@android.com>2017-03-31 01:03:56 +0000
commit1dd88392869fc72463553b65537e5f8d8e33c118 (patch)
tree131df99770f6b5de62a3b079300f85f1c09b1c6b /cc/installer.go
parentc31994825a4846382147931022b2fcd2654e16f6 (diff)
downloadbuild_soong-1dd88392869fc72463553b65537e5f8d8e33c118.tar.gz
build_soong-1dd88392869fc72463553b65537e5f8d8e33c118.tar.bz2
build_soong-1dd88392869fc72463553b65537e5f8d8e33c118.zip
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
Diffstat (limited to 'cc/installer.go')
-rw-r--r--cc/installer.go9
1 files changed, 7 insertions, 2 deletions
diff --git a/cc/installer.go b/cc/installer.go
index 64f87d96..c4de5897 100644
--- a/cc/installer.go
+++ b/cc/installer.go
@@ -30,8 +30,9 @@ type InstallerProperties struct {
type installLocation int
const (
- InstallInSystem installLocation = 0
- InstallInData = iota
+ InstallInSystem installLocation = 0
+ InstallInData = iota
+ InstallInSanitizerDir = iota
)
func NewBaseInstaller(dir, dir64 string, location installLocation) *baseInstaller {
@@ -78,6 +79,10 @@ func (installer *baseInstaller) inData() bool {
return installer.location == InstallInData
}
+func (installer *baseInstaller) inSanitizerDir() bool {
+ return installer.location == InstallInSanitizerDir
+}
+
func (installer *baseInstaller) hostToolPath() android.OptionalPath {
return android.OptionalPath{}
}