Merge "Prevent abuse of property overrides"
diff --git a/core/config_sanitizers.mk b/core/config_sanitizers.mk
index 1046ff6..38cf86d 100644
--- a/core/config_sanitizers.mk
+++ b/core/config_sanitizers.mk
@@ -143,6 +143,10 @@
endif
ifneq ($(filter cfi,$(my_sanitize)),)
+ # __cfi_check needs to be built as Thumb (see the code in linker_cfi.cpp).
+ # LLVM is not set up to do this on a function basis, so force Thumb on the
+ # entire module.
+ LOCAL_ARM_MODE := thumb
my_cflags += -flto -fsanitize-cfi-cross-dso -fvisibility=default
my_ldflags += -flto -fsanitize-cfi-cross-dso -fsanitize=cfi -Wl,-plugin-opt,O1 -Wl,-export-dynamic-symbol=__cfi_check
my_arflags += --plugin $(LLVM_PREBUILTS_PATH)/../lib64/LLVMgold.so
diff --git a/core/soong_config.mk b/core/soong_config.mk
index 7b1be47..d987254 100644
--- a/core/soong_config.mk
+++ b/core/soong_config.mk
@@ -65,7 +65,7 @@
echo ' "Safestack": $(if $(filter true,$(USE_SAFESTACK)),true,false),'; \
echo ' "EnableCFI": $(if $(filter true,$(ENABLE_CFI)),true,false),'; \
echo ''; \
- echo ' "ArtUseReadBarrier": $(if $(filter true,$(PRODUCT_ART_USE_READ_BARRIER)),true,false),'; \
+ echo ' "ArtUseReadBarrier": $(if $(filter false,$(PRODUCT_ART_USE_READ_BARRIER)),false,true),'; \
echo ''; \
echo ' "BtConfigIncludeDir": "$(BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR)",'; \
echo ' "BtHcilpIncluded": "$(BOARD_BLUETOOTH_BDROID_HCILP_INCLUDED)",'; \
diff --git a/target/product/runtime_libart.mk b/target/product/runtime_libart.mk
index 3dd505f..0f42c27 100644
--- a/target/product/runtime_libart.mk
+++ b/target/product/runtime_libart.mk
@@ -53,6 +53,7 @@
PRODUCT_PACKAGES += \
dalvikvm \
dex2oat \
+ dexoptanalyzer \
libart \
libart_fake \
libopenjdkjvmti \