Add PRODUCT_PACKAGES_DEBUG_ASAN

This is a list of modules which should be installed by default, but only on
builds which are set up for Address Sanitizer (via SANITIZE_TARGET=address).

Additionally, add sanitizer-status to PRODUCT_PACKAGES_DEBUG so that all
userdebug builds will have the binary.  Currently, the module has the
"debug" tag but it may go away in the future.

Change-Id: I0bea4faf9c2a65380292471437e51ef8324b5af3
This commit is contained in:
Zach Riggle 2018-03-26 16:17:03 -05:00
parent ef364228d7
commit 9323b7faf3
3 changed files with 16 additions and 0 deletions

View File

@ -319,6 +319,15 @@ ifndef is_sdk_build
endif
endif
## asan ##
# Install some additional tools on ASAN builds IFF we are also installing debug tools
ifneq ($(filter address,$(SANITIZE_TARGET)),)
ifneq (,$(filter debug,$(tags_to_install)))
tags_to_install += asan
endif
endif
## sdk ##
ifdef is_sdk_build
@ -936,6 +945,9 @@ tests_MODULES := $(sort \
$(call get-tagged-modules,tests) \
$(call module-installed-files, $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PACKAGES_TESTS)) \
)
asan_MODULES := $(sort \
$(call module-installed-files, $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PACKAGES_DEBUG_ASAN)) \
)
# TODO: Remove the 3 places in the tree that use ALL_DEFAULT_INSTALLED_MODULES
# and get rid of it from this list.

View File

@ -81,6 +81,7 @@ _product_var_list := \
PRODUCT_AAPT_PREBUILT_DPI \
PRODUCT_PACKAGES \
PRODUCT_PACKAGES_DEBUG \
PRODUCT_PACKAGES_DEBUG_ASAN \
PRODUCT_PACKAGES_ENG \
PRODUCT_PACKAGES_TESTS \
PRODUCT_DEVICE \

View File

@ -156,6 +156,9 @@ PRODUCT_PACKAGES_DEBUG := \
sqlite3 \
strace
# Packages included only for eng/userdebug builds, when building with SANITIZE_TARGET=address
PRODUCT_PACKAGES_DEBUG_ASAN :=
PRODUCT_COPY_FILES := $(call add-to-product-copy-files-if-exists,\
frameworks/base/config/preloaded-classes:system/etc/preloaded-classes)