From f85d101f4d99d8792d909bda82de880eb3b415c9 Mon Sep 17 00:00:00 2001 From: YellowJacketLinux Date: Tue, 8 Oct 2024 20:39:16 -0700 Subject: [PATCH] strip symbols --- CH8Build/CH08.80-stripping.sh | 61 +++++++++++++++++++++++++++++++++++ CH8Build/Master2.sh | 4 +++ 2 files changed, 65 insertions(+) create mode 100644 CH8Build/CH08.80-stripping.sh diff --git a/CH8Build/CH08.80-stripping.sh b/CH8Build/CH08.80-stripping.sh new file mode 100644 index 0000000..9cefc43 --- /dev/null +++ b/CH8Build/CH08.80-stripping.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +# copypasta from LFS book + +save_usrlib="$(cd /usr/lib; ls ld-linux*[^g]) + libc.so.6 + libthread_db.so.1 + libquadmath.so.0.0.0 + libstdc++.so.6.0.33 + libitm.so.1.0.0 + libatomic.so.1.2.0" + +cd /usr/lib + +for LIB in $save_usrlib; do + objcopy --only-keep-debug --compress-debug-sections=zlib $LIB $LIB.dbg + cp $LIB /tmp/$LIB + strip --strip-unneeded /tmp/$LIB + objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB + install -vm755 /tmp/$LIB /usr/lib + rm /tmp/$LIB +done + +online_usrbin="bash find strip" +online_usrlib="libbfd-2.43.1.so + libsframe.so.1.0.0 + libhistory.so.8.2 + libncursesw.so.6.5 + libm.so.6 + libreadline.so.8.2 + libz.so.1.3.1 + libzstd.so.1.5.6 + $(cd /usr/lib; find libnss*.so* -type f)" + +for BIN in $online_usrbin; do + cp /usr/bin/$BIN /tmp/$BIN + strip --strip-unneeded /tmp/$BIN + install -vm755 /tmp/$BIN /usr/bin + rm /tmp/$BIN +done + +for LIB in $online_usrlib; do + cp /usr/lib/$LIB /tmp/$LIB + strip --strip-unneeded /tmp/$LIB + install -vm755 /tmp/$LIB /usr/lib + rm /tmp/$LIB +done + +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 + ;; + esac +done + +unset BIN LIB save_usrlib online_usrbin online_usrlib + diff --git a/CH8Build/Master2.sh b/CH8Build/Master2.sh index 36922fb..ad21ed0 100644 --- a/CH8Build/Master2.sh +++ b/CH8Build/Master2.sh @@ -478,6 +478,10 @@ else sleep 3 fi +#stripping + +/bin/bash CH08.80-stripping.sh > /dev/null 2>&1 + #cleanup rm -rf /tmp/{*,.*}