Just strip everything by default

Run strip of each file and discard expected failure types.
Also default to stripping the entire output.
This commit is contained in:
Guillaume Maudoux 2016-04-28 23:48:13 +02:00 committed by Peter Simons
parent 3dd354d4cf
commit 2362891dc8

View File

@ -4,7 +4,7 @@ fixupOutputHooks+=(_doStrip)
_doStrip() {
if [ -z "$dontStrip" ]; then
stripDebugList=${stripDebugList:-lib lib32 lib64 libexec bin sbin}
stripDebugList=${stripDebugList:-.}
if [ -n "$stripDebugList" ]; then
stripDirs "$stripDebugList" "${stripDebugFlags:--S}"
fi
@ -29,8 +29,20 @@ stripDirs() {
dirs=${dirsNew}
if [ -n "${dirs}" ]; then
header "stripping (with flags $stripFlags) in$dirs"
find $dirs -type f -print0 | xargs -0 ${xargsFlags:--r} strip $commonStripFlags $stripFlags || true
header "Stripping (with flags $stripFlags) in$dirs"
while IFS= read -r -d $'\0' f; do
if out=$(strip $commonStripFlags $stripFlags "$f" 2>&1); then
echo "Stripped $f"
else
# Ignore failures on files that cannot be stripped.
if [ "$out" = "strip:$f: File format not recognized" ]; then
continue
fi
echo "Strip failed on file $f: $out"
false # fail !
fi
done < <(find $dirs -type f -print0)
stopNest
fi
}