diff --git a/core/config_sanitizers.mk b/core/config_sanitizers.mk index e13790bc3..b116283ff 100644 --- a/core/config_sanitizers.mk +++ b/core/config_sanitizers.mk @@ -87,13 +87,6 @@ ifneq ($(filter address,$(my_sanitize)),) $(ADDRESS_SANITIZER_CONFIG_EXTRA_SHARED_LIBRARIES) my_static_libraries += $(ADDRESS_SANITIZER_CONFIG_EXTRA_STATIC_LIBRARIES) my_ldflags += -Wl,-rpath,$($(LOCAL_2ND_ARCH_VAR_PREFIX)ADDRESS_SANITIZER_RPATH) - - # http://b/20665974 - # The relocation packer is causing the kernel to load the executable - # overlapping ASAN's shadow space. - ifeq ($(LOCAL_MODULE_CLASS),EXECUTABLES) - LOCAL_PACK_MODULE_RELOCATIONS := false - endif endif endif diff --git a/core/dynamic_binary.mk b/core/dynamic_binary.mk index f01505209..38c0cbee8 100644 --- a/core/dynamic_binary.mk +++ b/core/dynamic_binary.mk @@ -50,8 +50,10 @@ ifeq ($(my_pack_module_relocations),) my_pack_module_relocations := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_PACK_MODULE_RELOCATIONS) endif -# Do not pack relocations for static executables. -ifeq ($(LOCAL_FORCE_STATIC_EXECUTABLE),true) +# Do not pack relocations for executables. Because packing results in +# non-zero p_vaddr which causes kernel to load executables to lower +# address (starting at 0x8000) http://b/20665974 +ifeq ($(LOCAL_MODULE_CLASS),EXECUTABLES) my_pack_module_relocations := false endif