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

Commit 62657800 authored by Andreas Gampe's avatar Andreas Gampe Committed by android-build-merger
Browse files

Rootdir: Add more asan.options support am: 8ccc1ad0

am: e33c9e42

Change-Id: Ia6a03d301832ec649976bc9889694a0b4203696f
parents dd30f6b0 e33c9e42
Loading
Loading
Loading
Loading
+68 −1
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ include $(BUILD_PREBUILT)
#######################################
# asan.options
ifneq ($(filter address,$(SANITIZE_TARGET)),)

include $(CLEAR_VARS)

LOCAL_MODULE := asan.options
@@ -34,6 +35,72 @@ LOCAL_SRC_FILES := $(LOCAL_MODULE)
LOCAL_MODULE_PATH := $(TARGET_OUT)

include $(BUILD_PREBUILT)

# Modules for asan.options.X files.

ASAN_OPTIONS_FILES :=

define create-asan-options-module
include $$(CLEAR_VARS)
LOCAL_MODULE := asan.options.$(1)
ASAN_OPTIONS_FILES += asan.options.$(1)
LOCAL_MODULE_CLASS := ETC
# The asan.options.off.template tries to turn off as much of ASAN as is possible.
LOCAL_SRC_FILES := asan.options.off.template
LOCAL_MODULE_PATH := $(TARGET_OUT)
include $$(BUILD_PREBUILT)
endef

# Pretty comprehensive set of native services. This list is helpful if all that's to be checked is an
# app.
ifeq ($(SANITIZE_LITE),true)
SANITIZE_ASAN_OPTIONS_FOR := \
  adbd \
  ATFWD-daemon \
  audioserver \
  bridgemgrd \
  cameraserver \
  cnd \
  debuggerd \
  debuggerd64 \
  dex2oat \
  drmserver \
  fingerprintd \
  gatekeeperd \
  installd \
  keystore \
  lmkd \
  logcat \
  logd \
  lowi-server \
  media.codec \
  mediadrmserver \
  media.extractor \
  mediaserver \
  mm-qcamera-daemon \
  mpdecision \
  netmgrd \
  perfd \
  perfprofd \
  qmuxd \
  qseecomd \
  rild \
  sdcard \
  servicemanager \
  slim_daemon \
  surfaceflinger \
  thermal-engine \
  time_daemon \
  update_engine \
  vold \
  wpa_supplicant \
  zip
endif

ifneq ($(SANITIZE_ASAN_OPTIONS_FOR),)
  $(foreach binary, $(SANITIZE_ASAN_OPTIONS_FOR), $(eval $(call create-asan-options-module,$(binary))))
endif

endif

#######################################
@@ -47,7 +114,7 @@ LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
EXPORT_GLOBAL_ASAN_OPTIONS :=
ifneq ($(filter address,$(SANITIZE_TARGET)),)
  EXPORT_GLOBAL_ASAN_OPTIONS := export ASAN_OPTIONS include=/system/asan.options
  LOCAL_REQUIRED_MODULES := asan.options
  LOCAL_REQUIRED_MODULES := asan.options $(ASAN_OPTIONS_FILES)
endif
# Put it here instead of in init.rc module definition,
# because init.rc is conditionally included.
+1 −0
Original line number Diff line number Diff line
@@ -3,3 +3,4 @@ detect_odr_violation=0
alloc_dealloc_mismatch=0
allocator_may_return_null=1
detect_container_overflow=0
include_if_exists=/system/asan.options.%b
+7 −0
Original line number Diff line number Diff line
quarantine_size_mb=0
max_redzone=16
poison_heap=false
poison_partial=false
poison_array_cookie=false
alloc_dealloc_mismatch=false
new_delete_type_mismatch=false