diff --git a/libc/Android.bp b/libc/Android.bp index 1da726251..57d4039e0 100644 --- a/libc/Android.bp +++ b/libc/Android.bp @@ -1582,12 +1582,6 @@ cc_library { "tz_version", // Version metadata for tzdata to help debugging. ], - // Leave the symbols in the shared library so that stack unwinders can produce - // meaningful name resolution. - strip: { - keep_symbols: true, - }, - // Do not pack libc.so relocations; see http://b/20645321 for details. pack_relocations: false, @@ -1628,9 +1622,23 @@ cc_library { static: { srcs: [":libc_sources_static_arm"], }, + + // Arm 32 bit does not produce complete exidx unwind information + // so keep the .debug_frame which is relatively small and does + // include needed unwind information. + // See b/132992102 for details. + strip: { + keep_symbols_and_debug_frame: true, + }, }, arm64: { version_script: ":libc.arm64.map", + + // Leave the symbols in the shared library so that stack unwinders can produce + // meaningful name resolution. + strip: { + keep_symbols: true, + }, }, x86: { // TODO: This is to work around b/24465209. Remove after root cause is fixed. @@ -1638,9 +1646,21 @@ cc_library { ldflags: ["-Wl,--hash-style=both"], version_script: ":libc.x86.map", + + // Leave the symbols in the shared library so that stack unwinders can produce + // meaningful name resolution. + strip: { + keep_symbols: true, + }, }, x86_64: { version_script: ":libc.x86_64.map", + + // Leave the symbols in the shared library so that stack unwinders can produce + // meaningful name resolution. + strip: { + keep_symbols: true, + }, }, },