diff options
author | Xi Ruoyao <xry111@mengyan1223.wang> | 2021-07-28 17:00:25 +0800 |
---|---|---|
committer | Xi Ruoyao <xry111@mengyan1223.wang> | 2021-07-28 18:46:22 +0800 |
commit | 08f72423ce26a60982fb06fb4b34f800d2c8a3ad (patch) | |
tree | c81ff943134f6ee2400c03ee5077a801ce24ac1a /chapter08 | |
parent | 79902f4e5120549197b50e735c812b2ec545e520 (diff) |
always use --strip-unneeded for stripping
The behavior of --strip-unneeded and --strip-all are same for
executables and shared libraries. For static libraries,
--strip-unneeded keeps the symbols needed for relocation processing so
it won't break static archives.
Diffstat (limited to 'chapter08')
-rw-r--r-- | chapter08/strippingagain.xml | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/chapter08/strippingagain.xml b/chapter08/strippingagain.xml index ed690eb1a..f1eaa060d 100644 --- a/chapter08/strippingagain.xml +++ b/chapter08/strippingagain.xml @@ -67,7 +67,7 @@ online_usrlib="libbfd-&binutils-version;.so libdl-&glibc-version;.so for BIN in $online_usrbin; do cp /usr/bin/$BIN /tmp/$BIN - strip --strip-all /tmp/$BIN + strip --strip-unneeded /tmp/$BIN install -vm755 /tmp/$BIN /usr/bin rm /tmp/$BIN done @@ -79,11 +79,10 @@ for LIB in $online_usrlib; do rm /tmp/$LIB done -find /usr/lib -type f -name \*.a \ - -exec strip --strip-debug {} ';' - -for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg); do - case "$online_usrlib $save_usrlib" in +for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg) \ + $(find /usr/lib -type f -name \*.a) \ + $(find /usr/{bin,sbin,libexec} -type f); do + case "$online_usrbin $online_usrlib $save_usrlib" in *$(basename $i)* ) ;; * ) strip --strip-unneeded $i @@ -91,18 +90,6 @@ for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg); do esac done -for i in $(find /usr/bin -type f); do - case "$online_usrbin" in - *$(basename $i)* ) - ;; - * ) strip --strip-all $i - ;; - esac -done - -find /usr/{sbin,libexec} -type f \ - -exec strip --strip-all {} ';' - unset BIN LIB save_usrlib online_usrbin online_usrlib </userinput></screen> |