From 0ae6445e9a85291b3a20da7f7a5b948cd18d3424 Mon Sep 17 00:00:00 2001 From: Christopher Ferris Date: Fri, 21 Mar 2014 11:11:38 -0700 Subject: [PATCH] Keep the symbol table in the shared libc. In order to allow the unwinder code to have meaningful names for libc functions, leave the symbol table. This results in the libc.so getting to be about ~130K larger on all arm platforms and about ~70K larger on mips/x86 platforms. Bug: 12958251 Change-Id: I6b3a97e4824142faf5de46aeabf7c1dfb98a8cc6 --- libc/Android.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libc/Android.mk b/libc/Android.mk index 8cb85b7f3..3faa47f0f 100644 --- a/libc/Android.mk +++ b/libc/Android.mk @@ -771,6 +771,10 @@ LOCAL_MODULE:= libc LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_REQUIRED_MODULES := tzdata +# Leave the symbols in the shared library so that stack unwinders can produce +# meaningful name resolution. +LOCAL_STRIP_MODULE := keep_symbols + # WARNING: The only library libc.so should depend on is libdl.so! If you add other libraries, # make sure to add -Wl,--exclude-libs=libgcc.a to the LOCAL_LDFLAGS for those libraries. This # ensures that symbols that are pulled into those new libraries from libgcc.a are not declared