aboutsummaryrefslogtreecommitdiffstats
path: root/chapter08
diff options
context:
space:
mode:
authorXi Ruoyao <xry111@mengyan1223.wang>2021-07-28 17:00:25 +0800
committerXi Ruoyao <xry111@mengyan1223.wang>2021-07-28 18:46:22 +0800
commit08f72423ce26a60982fb06fb4b34f800d2c8a3ad (patch)
treec81ff943134f6ee2400c03ee5077a801ce24ac1a /chapter08
parent79902f4e5120549197b50e735c812b2ec545e520 (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.xml23
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>