summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2007-04-17 23:07:04 +0000
committerMike Frysinger <vapier@gentoo.org>2007-04-17 23:07:04 +0000
commit98c30b84ec8688c6a1ac68058182e499f2a74cf2 (patch)
treeb4e025ab055575764c86245c1275e272b0be8b58
parent11cbb6ebec83d94fa87ddc023250cd9007d76687 (diff)
downloadportage-98c30b84ec8688c6a1ac68058182e499f2a74cf2.tar.gz
portage-98c30b84ec8688c6a1ac68058182e499f2a74cf2.tar.bz2
portage-98c30b84ec8688c6a1ac68058182e499f2a74cf2.zip
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
-rwxr-xr-xbin/prepstrip14
1 files changed, 10 insertions, 4 deletions
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