From 346e3f558b6c60106558c892ca215cd8462266fd Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 30 May 2006 03:52:27 +0000 Subject: Fix prepstrip so that it properly distiguishes between stripped and unstripped binaries for bug #133420. Thanks to robbat2 for this patch. svn path=/main/trunk/; revision=3440 --- bin/prepstrip | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'bin/prepstrip') diff --git a/bin/prepstrip b/bin/prepstrip index a27b1c260..6a3088957 100755 --- a/bin/prepstrip +++ b/bin/prepstrip @@ -45,7 +45,18 @@ save_elf_debug() { fi } -for x in $(scanelf -yRBF%F "$@") $(for y in "$@"; do find "${y}" -type f -name '*.a' -print ; done); do +# The existance of the section .symtab tells us that a binary is stripped. +# We want to log already stripped binaries, as this may be a QA violation. +# They prevent us from getting the splitdebug data. +f="$(scanelf -yqRBF '#k%F' -k '!.symtab' "$@")" +if [[ -n "${f}" ]] ; then + vecho -e "\n\aQA Notice: pre-stripped files found:\a" + vecho "${f}" + echo "${f}" > "${T}"/scanelf-already-stripped.log +fi + +# Now we look for unstripped binaries. +for x in $(scanelf -yqRBF '#k%F' -k '.symtab' "$@") $(for y in "$@"; do find "${y}" -type f -name '*.a' -print ; done); do if [[ ${banner} -eq 1 ]] ; then vecho "strip: ${STRIP} ${PORTAGE_STRIP_FLAGS}" banner=0 -- cgit v1.2.3-1-g7c22