Make mini-debug-info stripping pass on already stripped binaries
Prebuilts may already be stripped. Instead of requiring every stripped prebuilt to be annotated with LOCAL_STRIP_MODULE := false, just make the default (mini-debug-info) pass through already-stripped modules without failing. Bug: 36793128 Test: m -j checkbuild Change-Id: Iafc4614ceb91bbbb2e5ff82caefd18753f8961b1
This commit is contained in:
parent
4d15a84fc0
commit
5e93057da4
|
@ -1826,18 +1826,21 @@ endef
|
|||
define transform-to-stripped-keep-mini-debug-info
|
||||
@echo "$($(PRIVATE_PREFIX)DISPLAY) Strip (mini debug info): $(PRIVATE_MODULE) ($@)"
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) $(PRIVATE_NM) -D $< --format=posix --defined-only | awk '{ print $$1 }' | sort >$@.dynsyms
|
||||
$(hide) $(PRIVATE_NM) $< --format=posix --defined-only | awk '{ if ($$2 == "T" || $$2 == "t" || $$2 == "D") print $$1 }' | sort >$@.funcsyms
|
||||
$(hide) comm -13 $@.dynsyms $@.funcsyms >$@.keep_symbols
|
||||
$(hide) $(PRIVATE_OBJCOPY) --only-keep-debug $< $@.debug
|
||||
$(hide) $(PRIVATE_OBJCOPY) --rename-section .debug_frame=saved_debug_frame $@.debug $@.mini_debuginfo
|
||||
$(hide) $(PRIVATE_OBJCOPY) -S --remove-section .gdb_index --remove-section .comment --keep-symbols=$@.keep_symbols $@.mini_debuginfo
|
||||
$(hide) $(PRIVATE_OBJCOPY) --rename-section saved_debug_frame=.debug_frame $@.mini_debuginfo
|
||||
$(hide) $(PRIVATE_STRIP) --strip-all -R .comment $< -o $@
|
||||
$(hide) rm -f $@.mini_debuginfo.xz
|
||||
$(hide) xz $@.mini_debuginfo
|
||||
$(hide) $(PRIVATE_OBJCOPY) --add-section .gnu_debugdata=$@.mini_debuginfo.xz $@
|
||||
$(hide) rm -f $@.dynsyms $@.funcsyms $@.keep_symbols $@.debug $@.mini_debuginfo.xz
|
||||
$(hide) rm -f $@ $@.dynsyms $@.funcsyms $@.keep_symbols $@.debug $@.mini_debuginfo.xz
|
||||
if $(PRIVATE_STRIP) --strip-all -R .comment $< -o $@; then \
|
||||
$(PRIVATE_OBJCOPY) --only-keep-debug $< $@.debug && \
|
||||
$(PRIVATE_NM) -D $< --format=posix --defined-only | awk '{ print $$1 }' | sort >$@.dynsyms && \
|
||||
$(PRIVATE_NM) $< --format=posix --defined-only | awk '{ if ($$2 == "T" || $$2 == "t" || $$2 == "D") print $$1 }' | sort >$@.funcsyms && \
|
||||
comm -13 $@.dynsyms $@.funcsyms >$@.keep_symbols && \
|
||||
$(PRIVATE_OBJCOPY) --rename-section .debug_frame=saved_debug_frame $@.debug $@.mini_debuginfo && \
|
||||
$(PRIVATE_OBJCOPY) -S --remove-section .gdb_index --remove-section .comment --keep-symbols=$@.keep_symbols $@.mini_debuginfo && \
|
||||
$(PRIVATE_OBJCOPY) --rename-section saved_debug_frame=.debug_frame $@.mini_debuginfo && \
|
||||
rm -f $@.mini_debuginfo.xz && \
|
||||
xz $@.mini_debuginfo && \
|
||||
$(PRIVATE_OBJCOPY) --add-section .gnu_debugdata=$@.mini_debuginfo.xz $@; \
|
||||
else \
|
||||
cp -f $< $@; \
|
||||
fi
|
||||
endef
|
||||
|
||||
define transform-to-stripped-keep-symbols
|
||||
|
|
Loading…
Reference in New Issue