]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
stripper: Strip all unneeded relocation information
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 24 Dec 2019 10:46:51 +0000 (10:46 +0000)
committerArne Fitzenreiter <arne_f@ipfire.org>
Sun, 29 Dec 2019 19:20:44 +0000 (19:20 +0000)
Libraries were treated differently and therfore it could
happen that they were not stripped from any unnecessary
relocation information at all.

This patch changes that and strips everything from
libraries that we do not need.

The ISO was 3MB smaller.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
src/stripper

index f121d35919fb967c6469c54b32d4f791ea631480..ac5f58ca50cb76f858de26c3108d741cb5f87d65 100755 (executable)
@@ -17,7 +17,7 @@ done
 
 function _strip() {
        local file=${1}
-       local cmd="${STRIP-strip}"
+       local strip="${STRIP-strip}"
 
        local exclude l
        for exclude in ${excludes}; do
@@ -27,17 +27,19 @@ function _strip() {
                fi
        done
 
+       local cmd=( "${strip}" )
+
        case "$(file -bi ${file})" in
-               application/x-sharedlib*|application/x-archive*)
-                       cmd="${cmd} --strip-debug --remove-section=.comment --remove-section=.note"
+               application/x-archive*)
+                       cmd+=( "--strip-debug" "--remove-section=.comment" "--remove-section=.note" )
                        ;;
                *)
-                       cmd="${cmd} --strip-unneeded"
+                       cmd+=( "--strip-all" )
                        ;;
        esac
 
        echo "Stripping ${file}..."
-       ${cmd} ${file}
+       ${cmd[*]} ${file}
 }
 
 for dir in ${dirs}; do