With SANITIZE_TARGET, move shared libraries to /data.
A fully (or even mostly) asan-instrumented device will have 2 copies of each shared library, which might not fit on system partition. Moving instrumented libraries to /data. Bug: 21785137 Change-Id: I64184261da2eb24a1382c67e4931c34a5a38b3c0
This commit is contained in:
parent
d479a7a119
commit
4d3d4141ae
|
@ -69,4 +69,4 @@ $(clang_2nd_arch_prefix)TARGET_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.p
|
||||||
|
|
||||||
# Address sanitizer clang config
|
# Address sanitizer clang config
|
||||||
$(clang_2nd_arch_prefix)ADDRESS_SANITIZER_RUNTIME_LIBRARY := libclang_rt.asan-arm-android
|
$(clang_2nd_arch_prefix)ADDRESS_SANITIZER_RUNTIME_LIBRARY := libclang_rt.asan-arm-android
|
||||||
$(clang_2nd_arch_prefix)ADDRESS_SANITIZER_RPATH := /system/lib/asan
|
$(clang_2nd_arch_prefix)ADDRESS_SANITIZER_RPATH := /data/lib
|
||||||
|
|
|
@ -67,4 +67,4 @@ TARGET_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-aarch64-android.a
|
||||||
|
|
||||||
# Address sanitizer clang config
|
# Address sanitizer clang config
|
||||||
ADDRESS_SANITIZER_RUNTIME_LIBRARY := libclang_rt.asan-arm64-android
|
ADDRESS_SANITIZER_RUNTIME_LIBRARY := libclang_rt.asan-arm64-android
|
||||||
ADDRESS_SANITIZER_RPATH := /system/lib64/asan
|
ADDRESS_SANITIZER_RPATH := /data/lib64
|
||||||
|
|
|
@ -275,14 +275,20 @@ TARGET_OUT_GEN := $(PRODUCT_OUT)/gen
|
||||||
TARGET_OUT_COMMON_GEN := $(TARGET_COMMON_OUT_ROOT)/gen
|
TARGET_OUT_COMMON_GEN := $(TARGET_COMMON_OUT_ROOT)/gen
|
||||||
|
|
||||||
TARGET_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_SYSTEM)
|
TARGET_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_SYSTEM)
|
||||||
|
ifeq ($(SANITIZE_TARGET),address)
|
||||||
|
target_out_shared_libraries_base := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_DATA)
|
||||||
|
else
|
||||||
|
target_out_shared_libraries_base := $(TARGET_OUT)
|
||||||
|
endif
|
||||||
|
|
||||||
TARGET_OUT_EXECUTABLES := $(TARGET_OUT)/bin
|
TARGET_OUT_EXECUTABLES := $(TARGET_OUT)/bin
|
||||||
TARGET_OUT_OPTIONAL_EXECUTABLES := $(TARGET_OUT)/xbin
|
TARGET_OUT_OPTIONAL_EXECUTABLES := $(TARGET_OUT)/xbin
|
||||||
ifeq ($(TARGET_IS_64_BIT),true)
|
ifeq ($(TARGET_IS_64_BIT),true)
|
||||||
# /system/lib always contains 32-bit libraries,
|
# /system/lib always contains 32-bit libraries,
|
||||||
# and /system/lib64 (if present) always contains 64-bit libraries.
|
# and /system/lib64 (if present) always contains 64-bit libraries.
|
||||||
TARGET_OUT_SHARED_LIBRARIES := $(TARGET_OUT)/lib64
|
TARGET_OUT_SHARED_LIBRARIES := $(target_out_shared_libraries_base)/lib64
|
||||||
else
|
else
|
||||||
TARGET_OUT_SHARED_LIBRARIES := $(TARGET_OUT)/lib
|
TARGET_OUT_SHARED_LIBRARIES := $(target_out_shared_libraries_base)/lib
|
||||||
endif
|
endif
|
||||||
TARGET_OUT_JAVA_LIBRARIES := $(TARGET_OUT)/framework
|
TARGET_OUT_JAVA_LIBRARIES := $(TARGET_OUT)/framework
|
||||||
TARGET_OUT_APPS := $(TARGET_OUT)/app
|
TARGET_OUT_APPS := $(TARGET_OUT)/app
|
||||||
|
@ -298,7 +304,7 @@ TARGET_2ND_ARCH_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX)
|
||||||
TARGET_2ND_ARCH_MODULE_SUFFIX := $(HOST_2ND_ARCH_MODULE_SUFFIX)
|
TARGET_2ND_ARCH_MODULE_SUFFIX := $(HOST_2ND_ARCH_MODULE_SUFFIX)
|
||||||
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATES := $(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)
|
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATES := $(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)
|
||||||
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES := $($(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATES)/lib
|
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES := $($(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATES)/lib
|
||||||
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SHARED_LIBRARIES := $(TARGET_OUT)/lib
|
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_SHARED_LIBRARIES := $(target_out_shared_libraries_base)/lib
|
||||||
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_EXECUTABLES := $(TARGET_OUT_EXECUTABLES)
|
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_EXECUTABLES := $(TARGET_OUT_EXECUTABLES)
|
||||||
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_APPS := $(TARGET_OUT_APPS)
|
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_APPS := $(TARGET_OUT_APPS)
|
||||||
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_APPS_PRIVILEGED := $(TARGET_OUT_APPS_PRIVILEGED)
|
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_APPS_PRIVILEGED := $(TARGET_OUT_APPS_PRIVILEGED)
|
||||||
|
|
Loading…
Reference in New Issue