From 98c30b84ec8688c6a1ac68058182e499f2a74cf2 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 17 Apr 2007 23:07:04 +0000 Subject: strip .comment by default, add a comment as to what we need before we can do .note, and add safe stripping of relocatable objects svn path=/main/trunk/; revision=6416 --- bin/prepstrip | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'bin') diff --git a/bin/prepstrip b/bin/prepstrip index 46d051d3f..4e4e78923 100755 --- a/bin/prepstrip +++ b/bin/prepstrip @@ -18,7 +18,10 @@ type -P -- ${STRIP} > /dev/null || STRIP=strip OBJCOPY=${OBJCOPY:-${CHOST}-objcopy} type -P -- ${OBJCOPY} > /dev/null || OBJCOPY=objcopy -export PORTAGE_STRIP_FLAGS=${PORTAGE_STRIP_FLAGS:---strip-unneeded} +# We'll leave out -R .note for now until we can check out the relevance +# of the section when it has the ALLOC flag set on it ... +export SAFE_STRIP_FLAGS="--strip-unneeded" +export PORTAGE_STRIP_FLAGS=${PORTAGE_STRIP_FLAGS-${SAFE_STRIP_FLAGS} -R .comment} banner=1 @@ -86,11 +89,14 @@ for x in $(scanelf -yqRBF '#k%F' -k '.symtab' "$@") $(for y in "$@"; do find "${ vecho " ${x:${#D}}" [[ -n ${NOSTRIP} ]] && continue [[ ${stripitbaby} -eq 1 ]] && ${STRIP} -g "${x}" - fi - if [[ ${f} == *"SB executable"* || ${f} == *"SB shared object"* ]] ; then + elif [[ ${f} == *"SB executable"* || ${f} == *"SB shared object"* || ${f} == *"SB relocatable"* ]] ; then vecho " ${x:${#D}}" save_elf_debug "${x}" [[ -n ${NOSTRIP} ]] && continue - [[ ${stripitbaby} -eq 1 ]] && ${STRIP} ${PORTAGE_STRIP_FLAGS} "${x}" + if [[ ${stripitbaby} -eq 1 ]] ; then + [[ ${f} == *"SB relocatable"* ]] \ + && ${STRIP} ${SAFE_STRIP_FLAGS} "${x}" \ + || ${STRIP} ${PORTAGE_STRIP_FLAGS} "${x}" + fi fi done -- cgit v1.2.3-1-g7c22