From: Zac Medico Date: Tue, 30 May 2006 03:52:27 +0000 (-0000) Subject: Fix prepstrip so that it properly distiguishes between stripped and unstripped binari... X-Git-Tag: v2.1~36 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=346e3f558b6c60106558c892ca215cd8462266fd;p=portage.git 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 --- 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