Revert "Revert "Revert "Revert "Add BacktraceOffline for offline backtracing.""""
This reverts commit 94ece83270deca76c69f5755f8c0ff5c859341fd.
Change-Id: Ie06465c89a5fc115517130f9f2904cc855973155
diff --git a/libbacktrace/Android.mk b/libbacktrace/Android.mk
index 395d677..9c6742e 100644
--- a/libbacktrace/Android.mk
+++ b/libbacktrace/Android.mk
@@ -25,6 +25,7 @@
libbacktrace_common_cppflags := \
-std=gnu++11 \
+ -I external/libunwind/include/tdep \
# The latest clang (r230699) does not allow SP/PC to be declared in inline asm lists.
libbacktrace_common_clang_cflags += \
@@ -37,6 +38,9 @@
endif
endif
+LLVM_ROOT_PATH := external/llvm
+include $(LLVM_ROOT_PATH)/llvm.mk
+
#-------------------------------------------------------------------------
# The libbacktrace library.
#-------------------------------------------------------------------------
@@ -44,6 +48,7 @@
Backtrace.cpp \
BacktraceCurrent.cpp \
BacktraceMap.cpp \
+ BacktraceOffline.cpp \
BacktracePtrace.cpp \
thread_utils.c \
ThreadEntry.cpp \
@@ -56,6 +61,20 @@
liblog \
libunwind \
+# Use shared llvm library on device to save space.
+libbacktrace_shared_libraries_target := \
+ libLLVM \
+
+# Use static llvm libraries on host to remove dependency on 32-bit llvm shared library
+# which is not included in the prebuilt.
+libbacktrace_static_libraries_host := \
+ libLLVMObject \
+ libLLVMBitReader \
+ libLLVMMC \
+ libLLVMMCParser \
+ libLLVMCore \
+ libLLVMSupport \
+
libbacktrace_ldlibs_host := \
-lpthread \
-lrt \
@@ -86,6 +105,8 @@
libbacktrace_test_src_files := \
backtrace_testlib.c \
+libbacktrace_test_strip_module := false
+
module := libbacktrace_test
module_tag := debug
build_type := target
@@ -107,6 +128,7 @@
-DENABLE_PSS_TESTS \
backtrace_test_src_files := \
+ backtrace_offline_test.cpp \
backtrace_test.cpp \
GetPss.cpp \
thread_utils.c \
@@ -120,6 +142,7 @@
libbacktrace \
libbase \
libcutils \
+ libunwind \
backtrace_test_shared_libraries_target += \
libdl \
@@ -127,6 +150,8 @@
backtrace_test_ldlibs_host += \
-ldl \
+backtrace_test_strip_module := false
+
module := backtrace_test
module_tag := debug
build_type := target