diff options
author | Igor Murashkin <iam@google.com> | 2014-10-30 16:08:07 -0700 |
---|---|---|
committer | Igor Murashkin <iam@google.com> | 2014-10-31 14:30:42 -0700 |
commit | da9f1a7e82b7e6d0677553f211835625078347f2 (patch) | |
tree | ce954900fc09f4dcee3b6af55601b3d0ced03ff1 | |
parent | 70d617aaf57c636ca7b6aedee5b009a7c46bdd3a (diff) | |
download | build-da9f1a7e82b7e6d0677553f211835625078347f2.zip build-da9f1a7e82b7e6d0677553f211835625078347f2.tar.gz build-da9f1a7e82b7e6d0677553f211835625078347f2.tar.bz2 |
core: Use WITH_DEXPREOPT_PIC=true to have dex2oat build pic oat files
When WITH_DEXPREOPT=true is set, if we also set WITH_DEXPREOPT_PIC=true
then the build will generate position-independent OAT images.
This means that all the system applications no longer need to be
relocated into /data/dalvik-cache and this can achieve saving disk space
at the cost of slightly slower running code.
Bug: 18035729
Change-Id: Ifd517c842f48bf31568bf5ff56667298d422c2c0
-rw-r--r-- | core/dex_preopt_libart_boot.mk | 5 | ||||
-rw-r--r-- | core/dex_preopt_odex_install.mk | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/core/dex_preopt_libart_boot.mk b/core/dex_preopt_libart_boot.mk index 620b464..0714c73 100644 --- a/core/dex_preopt_libart_boot.mk +++ b/core/dex_preopt_libart_boot.mk @@ -32,6 +32,11 @@ ifneq ($(PRODUCT_DEX_PREOPT_IMAGE_IN_DATA),true) $(my_2nd_arch_prefix)DEFAULT_DEX_PREOPT_INSTALLED_IMAGE := $(PRODUCT_OUT)$($(my_2nd_arch_prefix)LIBART_BOOT_IMAGE_FILENAME) endif +# Compile boot.oat as position-independent code if WITH_DEXPREOPT_PIC=true +ifeq (true,$(WITH_DEXPREOPT_PIC)) + PRODUCT_DEX_PREOPT_BOOT_FLAGS += --compile-pic +endif + # The rule to install boot.art and boot.oat $($(my_2nd_arch_prefix)DEFAULT_DEX_PREOPT_INSTALLED_IMAGE) : $($(my_2nd_arch_prefix)DEFAULT_DEX_PREOPT_BUILT_IMAGE_FILENAME) | $(ACP) $(call copy-file-to-target) diff --git a/core/dex_preopt_odex_install.mk b/core/dex_preopt_odex_install.mk index 90ae08f..cb38261 100644 --- a/core/dex_preopt_odex_install.mk +++ b/core/dex_preopt_odex_install.mk @@ -105,6 +105,12 @@ ifndef LOCAL_DEX_PREOPT_FLAGS LOCAL_DEX_PREOPT_FLAGS := $(PRODUCT_DEX_PREOPT_DEFAULT_FLAGS) endif endif + +# Compile apps with position-independent code if WITH_DEXPREOPT_PIC=true +ifeq (true,$(WITH_DEXPREOPT_PIC)) + LOCAL_DEX_PREOPT_FLAGS += --compile-pic +endif + $(built_odex): PRIVATE_DEX_PREOPT_FLAGS := $(LOCAL_DEX_PREOPT_FLAGS) # Use pattern rule - we may have multiple installed odex files. |