From 7a7ec9073a9e84a71b20cbda69bead5ccbdf6e92 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 20 Dec 2019 12:54:22 +0000 Subject: [PATCH] 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 --- make.sh | 2 +- src/stripper | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) 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 -- 2.39.5