LOCAL_PATH := $(call my-dir)
libc_malloc_debug_src_files := \
BacktraceData.cpp \
Config.cpp \
DebugData.cpp \
debug_disable.cpp \
FreeTrackData.cpp \
GuardData.cpp \
malloc_debug.cpp \
TrackData.cpp \
# ==============================================================
# libc_malloc_debug_backtrace.a
# ==============================================================
# Used by libmemunreachable
include $(CLEAR_VARS)
LOCAL_MODULE := libc_malloc_debug_backtrace
LOCAL_SRC_FILES := \
backtrace.cpp \
MapData.cpp \
LOCAL_CXX_STL := libc++_static
LOCAL_STATIC_LIBRARIES += \
libc_logging \
LOCAL_C_INCLUDES += bionic/libc
LOCAL_EXPORT_C_INCLUDE_DIRS += $(LOCAL_PATH)
LOCAL_SANITIZE := never
LOCAL_NATIVE_COVERAGE := false
# -Wno-error=format-zero-length needed for gcc to compile.
LOCAL_CFLAGS := \
-Wall \
-Werror \
-Wno-error=format-zero-length \
include $(BUILD_STATIC_LIBRARY)
# ==============================================================
# libc_malloc_debug.so
# ==============================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libc_malloc_debug
LOCAL_SRC_FILES := \
$(libc_malloc_debug_src_files) \
LOCAL_CXX_STL := libc++_static
# Only need this for arm since libc++ uses its own unwind code that
# doesn't mix with the other default unwind code.
LOCAL_STATIC_LIBRARIES_arm := libunwind_llvm
LOCAL_STATIC_LIBRARIES += \
libc_malloc_debug_backtrace \
libc_logging \
LOCAL_LDFLAGS_32 := -Wl,--version-script,$(LOCAL_PATH)/exported32.map
LOCAL_LDFLAGS_64 := -Wl,--version-script,$(LOCAL_PATH)/exported64.map
LOCAL_ALLOW_UNDEFINED_SYMBOLS := true
LOCAL_C_INCLUDES += bionic/libc
LOCAL_SANITIZE := never
LOCAL_NATIVE_COVERAGE := false
# -Wno-error=format-zero-length needed for gcc to compile.
LOCAL_CFLAGS := \
-Wall \
-Werror \
-fno-stack-protector \
-Wno-error=format-zero-length \
include $(BUILD_SHARED_LIBRARY)
# ==============================================================
# Unit Tests
# ==============================================================
include $(CLEAR_VARS)
LOCAL_MODULE := malloc_debug_unit_tests
LOCAL_MODULE_STEM_32 := $(LOCAL_MODULE)32
LOCAL_MODULE_STEM_64 := $(LOCAL_MODULE)64
LOCAL_SRC_FILES := \
tests/backtrace_fake.cpp \
tests/log_fake.cpp \
tests/libc_fake.cpp \
tests/property_fake.cpp \
tests/malloc_debug_config_tests.cpp \
tests/malloc_debug_unit_tests.cpp \
$(libc_malloc_debug_src_files) \
LOCAL_C_INCLUDES := $(LOCAL_PATH)/tests
LOCAL_C_INCLUDES += bionic/libc
LOCAL_SHARED_LIBRARIES := libbase
LOCAL_CFLAGS := \
-Wall \
-Werror \
-Wno-error=format-zero-length \
include $(BUILD_NATIVE_TEST)