From 5036729c41829c335260c7c803ea9128079cdef8 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 31 Mar 2015 15:18:17 -0700 Subject: [PATCH] Add unwinder linking to STL setup. Previously we were bundling this into libc++ and having each binary resolve its symbols from there. This means that the unwinder that gets used for a given binary is sensitive to the order in which its libraries are linked. Making this a static library dependency of each binary means the right unwinder will always be used. Bug: 18471342 Bug: 19958712 Change-Id: I782d212784dbf85355b5d9146d7460d675259a0e --- core/cxx_stl_setup.mk | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/core/cxx_stl_setup.mk b/core/cxx_stl_setup.mk index 63e206905..7961801a7 100644 --- a/core/cxx_stl_setup.mk +++ b/core/cxx_stl_setup.mk @@ -65,6 +65,18 @@ ifneq ($(filter $(my_cxx_stl),libc++ libc++_static),) my_ldflags += -nodefaultlibs my_ldlibs += -lpthread -lm my_ldlibs += $($(my_prefix)$(HOST_OS)_$(my_link_type)_gcclibs) + else + ifeq (arm,$($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)) + my_static_libraries += libunwind_llvm + else + my_static_libraries += libunwindbacktrace + endif + + ifeq ($(my_link_type),static) + my_static_libraries += libdl + else + my_shared_libraries += libdl + endif endif else ifneq ($(filter $(my_cxx_stl),stlport stlport_static),) ifndef LOCAL_IS_HOST_MODULE