Add an option to preserve symbols and debug_frame.

New strip option named keep_symbols_and_debug_frame, that will keep the
symbols and the .debug_frame. This is meant for use by libc.so only on
arm32. Other libraries might want to use it to keep better unwinding
information on device.

Bug: 132992102

Test: Built libc.so with this option and verified that it contains
Test: the .debug_frame section.
Change-Id: I823a28199dec8316e8b26fe31ff9f17e6b11d406
This commit is contained in:
Christopher Ferris
2019-05-17 16:39:54 -07:00
parent 4c83b8950a
commit b43fe7a838
3 changed files with 46 additions and 15 deletions

View File

@@ -254,11 +254,12 @@ type builderFlags struct {
groupStaticLibs bool
stripKeepSymbols bool
stripKeepSymbolsList string
stripKeepMiniDebugInfo bool
stripAddGnuDebuglink bool
stripUseGnuStrip bool
stripKeepSymbols bool
stripKeepSymbolsList string
stripKeepSymbolsAndDebugFrame bool
stripKeepMiniDebugInfo bool
stripAddGnuDebuglink bool
stripUseGnuStrip bool
proto android.ProtoFlags
protoC bool
@@ -839,6 +840,9 @@ func TransformStrip(ctx android.ModuleContext, inputFile android.Path,
if flags.stripKeepSymbolsList != "" {
args += " -k" + flags.stripKeepSymbolsList
}
if flags.stripKeepSymbolsAndDebugFrame {
args += " --keep-symbols-and-debug-frame"
}
if flags.stripUseGnuStrip {
args += " --use-gnu-strip"
}