Build libunwind_llvm with -D_LIBUNWIND_USE_DLADDR=0
This macro removes the usage of dladdr from libunwind_llvm, which allows
linking libunwind.a into a static executable without needing the stub
dladdr from libdl.a(libdl_static.o).
dladdr is used for unw_get_proc_name, which isn't needed for C++ exception
handling. unw_get_proc_name can already fail with UNW_EUNSPEC if the PC is
not in the .dynsym table (e.g. a static function).
Bug: http://b/141485154
Test: ./checkbuild.py && ./run_tests.py
Change-Id: I83d4f0b1b949bc76b277f50db80ea3ce77b88086
diff --git a/Android.mk b/Android.mk
index b684518..a623ce7 100644
--- a/Android.mk
+++ b/Android.mk
@@ -51,7 +51,7 @@
LOCAL_MODULE := libunwind
LOCAL_SRC_FILES := $(libunwind_src_files)
LOCAL_C_INCLUDES := $(libcxxabi_includes)
-LOCAL_CFLAGS := -D__STDC_FORMAT_MACROS
+LOCAL_CFLAGS := -D__STDC_FORMAT_MACROS -D_LIBUNWIND_USE_DLADDR=0
LOCAL_CPPFLAGS := -std=c++11
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include