mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-19 03:39:20 +01:00
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.
This commit is contained in:
parent
79902f4e51
commit
08f72423ce
@ -43,6 +43,16 @@
|
||||
appropriate for the entry or if needed the entire day's listitem.
|
||||
-->
|
||||
|
||||
<listitem>
|
||||
<para>2021-07-27</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[xry111] - Always use --strip-unneeded for stripping.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<listitem>
|
||||
<para>2021-07-27</para>
|
||||
<itemizedlist>
|
||||
|
@ -87,7 +87,7 @@ umount $LFS/{sys,proc,run}</userinput></screen>
|
||||
symbols.</para>
|
||||
|
||||
<para>Strip off debugging symbols from binaries:</para>
|
||||
<screen role="nodump"><userinput>strip --strip-debug $LFS/usr/lib/*
|
||||
<screen role="nodump"><userinput>strip --strip-unneeded $LFS/usr/lib/*
|
||||
strip --strip-unneeded $LFS/usr/{,s}bin/*
|
||||
strip --strip-unneeded $LFS/tools/bin/*</userinput></screen>
|
||||
|
||||
@ -97,11 +97,6 @@ strip --strip-unneeded $LFS/tools/bin/*</userinput></screen>
|
||||
<quote>Binutils pass 2</quote>, since it is the one that knows how to strip
|
||||
our cross-compiled programs.--></para>
|
||||
|
||||
<para>Take care <emphasis>NOT</emphasis> to use
|
||||
<parameter>--strip-unneeded</parameter> on the libraries. The static
|
||||
ones would be destroyed and the toolchain packages would need to be
|
||||
built all over again.</para>
|
||||
|
||||
<para>At this point, you should have at least 5 GB of free space on the
|
||||
chroot partition that can be used to build and install Glibc and GCC in
|
||||
the next phase. If you can build and install Glibc, you can build and install
|
||||
|
@ -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>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user