Change install paths of libs in sanitize builds
This changes the paths for partitions modules inside the 'asan' subdirectory to match those used when not making sanitized builds. This fixes get_non_asan_path macro, which just strips the 'asan' dir from the lib paths. For example, on a device without a product partition, previously libraries would install install in: - out/target/product/x/asan/product/lib[64]/y.so (with SANITIZE_TARGET) - out/target/product/x/system/product/lib[64]/y.so (no SANITIZE TARGET) Stripping the asan dir would look for the lib in out/.../<x>/product/, which didn't exist. The new path for SANITIZE_TARGET builds is now out/target/product<x>/asan/system/product/lib[64]/<y>.so Bug: 117089649 Test: m; SANITIZE_TARGET=address m (for a device without /product) Change-Id: Id663c5f284e3b4fc65ed8cb8c2da6bcf6542e034
This commit is contained in:
@@ -792,11 +792,11 @@ TARGET_OUT_CACHE := $(PRODUCT_OUT)/cache
|
||||
TARGET_OUT_VENDOR := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)
|
||||
.KATI_READONLY := TARGET_OUT_VENDOR
|
||||
ifneq ($(filter address,$(SANITIZE_TARGET)),)
|
||||
target_out_vendor_shared_libraries_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/vendor
|
||||
target_out_vendor_shared_libraries_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_VENDOR)
|
||||
ifeq ($(SANITIZE_LITE),true)
|
||||
# When using SANITIZE_LITE, APKs must not be packaged with sanitized libraries, as they will not
|
||||
# work with unsanitized app_process. For simplicity, generate APKs into /data/asan/.
|
||||
target_out_vendor_app_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/vendor
|
||||
target_out_vendor_app_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_VENDOR)
|
||||
else
|
||||
target_out_vendor_app_base := $(TARGET_OUT_VENDOR)
|
||||
endif
|
||||
@@ -875,11 +875,11 @@ $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_OEM_APPS := $(TARGET_OUT_OEM_APPS)
|
||||
|
||||
TARGET_OUT_ODM := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ODM)
|
||||
ifneq ($(filter address,$(SANITIZE_TARGET)),)
|
||||
target_out_odm_shared_libraries_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/odm
|
||||
target_out_odm_shared_libraries_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_OEM)
|
||||
ifeq ($(SANITIZE_LITE),true)
|
||||
# When using SANITIZE_LITE, APKs must not be packaged with sanitized libraries, as they will not
|
||||
# work with unsanitized app_process. For simplicity, generate APKs into /data/asan/.
|
||||
target_out_odm_app_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/odm
|
||||
target_out_odm_app_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_OEM)
|
||||
else
|
||||
target_out_odm_app_base := $(TARGET_OUT_ODM)
|
||||
endif
|
||||
@@ -931,11 +931,11 @@ TARGET_OUT_PRODUCT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_PRODUCT)
|
||||
TARGET_OUT_PRODUCT_EXECUTABLES := $(TARGET_OUT_PRODUCT)/bin
|
||||
.KATI_READONLY := TARGET_OUT_PRODUCT
|
||||
ifneq ($(filter address,$(SANITIZE_TARGET)),)
|
||||
target_out_product_shared_libraries_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/product
|
||||
target_out_product_shared_libraries_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_PRODUCT)
|
||||
ifeq ($(SANITIZE_LITE),true)
|
||||
# When using SANITIZE_LITE, APKs must not be packaged with sanitized libraries, as they will not
|
||||
# work with unsanitized app_process. For simplicity, generate APKs into /data/asan/.
|
||||
target_out_product_app_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/product
|
||||
target_out_product_app_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_PRODUCT)
|
||||
else
|
||||
target_out_product_app_base := $(TARGET_OUT_PRODUCT)
|
||||
endif
|
||||
@@ -977,11 +977,11 @@ $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_PRODUCT_APPS_PRIVILEGED := $(TARGET_OUT_
|
||||
|
||||
TARGET_OUT_PRODUCT_SERVICES := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_PRODUCT_SERVICES)
|
||||
ifneq ($(filter address,$(SANITIZE_TARGET)),)
|
||||
target_out_product_services_shared_libraries_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/product_services
|
||||
target_out_product_services_shared_libraries_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_PRODUCT_SERVICES)
|
||||
ifeq ($(SANITIZE_LITE),true)
|
||||
# When using SANITIZE_LITE, APKs must not be packaged with sanitized libraries, as they will not
|
||||
# work with unsanitized app_process. For simplicity, generate APKs into /data/asan/.
|
||||
target_out_product_services_app_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/product_services
|
||||
target_out_product_services_app_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ASAN)/$(TARGET_COPY_OUT_PRODUCT_SERVICES)
|
||||
else
|
||||
target_out_product_services_app_base := $(TARGET_OUT_PRODUCT_SERVICES)
|
||||
endif
|
||||
|
Reference in New Issue
Block a user