From: Michael Tremer Date: Fri, 20 Dec 2019 12:54:22 +0000 (+0000) Subject: stripper: Strip all unneeded relocation information X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fheads%2Fstripper;p=people%2Fms%2Fipfire-2.x.git stripper: Strip all unneeded relocation information 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. Signed-off-by: Michael Tremer --- diff --git a/make.sh b/make.sh index 64b08b7d9b..5765f67d7e 100755 --- a/make.sh +++ b/make.sh @@ -198,7 +198,7 @@ configure_build() { # Enables hardening HARDENING_CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong" - CFLAGS="-O2 -pipe -Wall -fexceptions -fPIC ${CFLAGS_ARCH}" + CFLAGS="-O2 -g -pipe -Wall -fexceptions -fPIC ${CFLAGS_ARCH}" CXXFLAGS="${CFLAGS}" # Determine parallelism diff --git a/src/stripper b/src/stripper index f121d35919..8beb9f6cd5 100755 --- a/src/stripper +++ b/src/stripper @@ -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,16 @@ function _strip() { fi done + local cmd=( "${strip}" "--strip-unneeded" ) + case "$(file -bi ${file})" in - application/x-sharedlib*|application/x-archive*) - cmd="${cmd} --strip-debug --remove-section=.comment --remove-section=.note" - ;; - *) - cmd="${cmd} --strip-unneeded" + application/x-sharedlib*) + cmd+=( "--strip-debug" "--remove-section=.comment" "--remove-section=.note" ) ;; esac echo "Stripping ${file}..." - ${cmd} ${file} + ${cmd[*]} ${file} } for dir in ${dirs}; do