From 9e1dd67de4bba540a94369ccace0deaf38368bc0 Mon Sep 17 00:00:00 2001 From: Yabin Cui Date: Tue, 22 Sep 2015 21:57:43 -0700 Subject: [PATCH] libbacktrace: enable -fno-omit-frame-pointer for host build. This change makes sure -fno-omit-frame-pointer flag is not overrided by flags set in $(LLVM_HOST_BUILD_MK). Change-Id: I53037b0eab6bd1272cec0f5c9caa058ad1a55419 --- libbacktrace/Android.build.mk | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libbacktrace/Android.build.mk b/libbacktrace/Android.build.mk index 8e63dab57..84d07f23f 100644 --- a/libbacktrace/Android.build.mk +++ b/libbacktrace/Android.build.mk @@ -79,8 +79,13 @@ endif ifeq ($(build_type),host) # Only build if host builds are supported. ifeq ($(build_host),true) - LOCAL_CFLAGS += -Wno-extern-c-compat -fno-omit-frame-pointer include $(LLVM_HOST_BUILD_MK) + # -fno-omit-frame-pointer should be set for host build. Because currently + # libunwind can't recognize .debug_frame using dwarf version 4, and it relies + # on stack frame pointer to do unwinding on x86. + # $(LLVM_HOST_BUILD_MK) overwrites -fno-omit-frame-pointer. so the below line + # must be after the include. + LOCAL_CFLAGS += -Wno-extern-c-compat -fno-omit-frame-pointer include $(BUILD_HOST_$(build_target)) endif endif