Merge "Make mini-debug-info stripping pass on already stripped binaries"

am: dd63df89d5

Change-Id: Ideef857ffdd4a56cfdd954151d4963f5c359e473
This commit is contained in:
Colin Cross 2017-04-14 20:18:45 +00:00 committed by android-build-merger
commit 4b69a9632e
1 changed files with 15 additions and 12 deletions

View File

@ -1826,18 +1826,21 @@ endef
define transform-to-stripped-keep-mini-debug-info define transform-to-stripped-keep-mini-debug-info
@echo "$($(PRIVATE_PREFIX)DISPLAY) Strip (mini debug info): $(PRIVATE_MODULE) ($@)" @echo "$($(PRIVATE_PREFIX)DISPLAY) Strip (mini debug info): $(PRIVATE_MODULE) ($@)"
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
$(hide) $(PRIVATE_NM) -D $< --format=posix --defined-only | awk '{ print $$1 }' | sort >$@.dynsyms $(hide) rm -f $@ $@.dynsyms $@.funcsyms $@.keep_symbols $@.debug $@.mini_debuginfo.xz
$(hide) $(PRIVATE_NM) $< --format=posix --defined-only | awk '{ if ($$2 == "T" || $$2 == "t" || $$2 == "D") print $$1 }' | sort >$@.funcsyms if $(PRIVATE_STRIP) --strip-all -R .comment $< -o $@; then \
$(hide) comm -13 $@.dynsyms $@.funcsyms >$@.keep_symbols $(PRIVATE_OBJCOPY) --only-keep-debug $< $@.debug && \
$(hide) $(PRIVATE_OBJCOPY) --only-keep-debug $< $@.debug $(PRIVATE_NM) -D $< --format=posix --defined-only | awk '{ print $$1 }' | sort >$@.dynsyms && \
$(hide) $(PRIVATE_OBJCOPY) --rename-section .debug_frame=saved_debug_frame $@.debug $@.mini_debuginfo $(PRIVATE_NM) $< --format=posix --defined-only | awk '{ if ($$2 == "T" || $$2 == "t" || $$2 == "D") print $$1 }' | sort >$@.funcsyms && \
$(hide) $(PRIVATE_OBJCOPY) -S --remove-section .gdb_index --remove-section .comment --keep-symbols=$@.keep_symbols $@.mini_debuginfo comm -13 $@.dynsyms $@.funcsyms >$@.keep_symbols && \
$(hide) $(PRIVATE_OBJCOPY) --rename-section saved_debug_frame=.debug_frame $@.mini_debuginfo $(PRIVATE_OBJCOPY) --rename-section .debug_frame=saved_debug_frame $@.debug $@.mini_debuginfo && \
$(hide) $(PRIVATE_STRIP) --strip-all -R .comment $< -o $@ $(PRIVATE_OBJCOPY) -S --remove-section .gdb_index --remove-section .comment --keep-symbols=$@.keep_symbols $@.mini_debuginfo && \
$(hide) rm -f $@.mini_debuginfo.xz $(PRIVATE_OBJCOPY) --rename-section saved_debug_frame=.debug_frame $@.mini_debuginfo && \
$(hide) xz $@.mini_debuginfo rm -f $@.mini_debuginfo.xz && \
$(hide) $(PRIVATE_OBJCOPY) --add-section .gnu_debugdata=$@.mini_debuginfo.xz $@ xz $@.mini_debuginfo && \
$(hide) rm -f $@.dynsyms $@.funcsyms $@.keep_symbols $@.debug $@.mini_debuginfo.xz $(PRIVATE_OBJCOPY) --add-section .gnu_debugdata=$@.mini_debuginfo.xz $@; \
else \
cp -f $< $@; \
fi
endef endef
define transform-to-stripped-keep-symbols define transform-to-stripped-keep-symbols