Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e24b6f77 authored by Dmitriy Ivanov's avatar Dmitriy Ivanov
Browse files

Do not pack relocations for executables

Bug: http://b/20665974
Change-Id: Ibc13b5d6bd05dfbc7ff8475068fe7363f58e7e67
parent afec6236
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -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

+4 −2
Original line number Diff line number Diff line
@@ -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