Ignore:
Timestamp:
03/31/2021 10:41:39 AM (4 years ago)
Author:
Xℹ Ruoyao <xry111@…>
Branches:
ml-11.0, multilib, xry111/multilib
Children:
7610848
Parents:
811b5a39
git-author:
Thomas Trepl <thomas@…> (06/29/2020 07:55:01 AM)
git-committer:
Xℹ Ruoyao <xry111@…> (03/31/2021 10:41:39 AM)
Message:

Update to new lfs structure

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11986 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

File:
1 moved

Legend:

Unmodified
Added
Removed
  • chapter08/strippingagain.xml

    r811b5a39 r6dfcfecc  
    1414  programmer and does not plan to do
    1515  any debugging on the system software, the system size can be decreased
    16   by about 90 MB by removing the debugging symbols from binaries and
     16  by about 2 GB by removing the debugging symbols from binaries and
    1717  libraries. This causes no inconvenience other than not being able to
    1818  debug the software fully anymore.</para>
     
    3131  </para>
    3232
    33 <!-- also of interest are libgfortan, libgo, libgomp, and libobjc from gcc -->
     33<!-- also of interest are libgfortan, libgo, libgomp, and libobjc from GCC -->
    3434
    3535<!--<screen><userinput>save_lib="ld-2.25.so libc-2.25.so libpthread-2.25.so libthread_db-1.0.so"-->
    36 <screen arch="default"><userinput>save_lib="ld-&glibc-version;.so libc-&glibc-version;.so libpthread-&glibc-version;.so libthread_db-&libthread_db-version;.so"
     36<screen><userinput>save_lib="ld-&glibc-version;.so libc-&glibc-version;.so libpthread-&glibc-version;.so libthread_db-&libthread_db-version;.so"
    3737
    3838cd /lib
    39 
    4039for LIB in $save_lib; do
    4140    objcopy --only-keep-debug $LIB $LIB.dbg
    4241    strip --strip-unneeded $LIB
    4342    objcopy --add-gnu-debuglink=$LIB.dbg $LIB
    44 done   
     43done</userinput>
     44<userinput arch="ml_32,ml_all">
     45cd &lib-m32;
     46for LIB in $save_lib; do
     47    objcopy --only-keep-debug $LIB $LIB.dbg
     48    strip --strip-unneeded $LIB
     49    objcopy --add-gnu-debuglink=$LIB.dbg $LIB
     50done</userinput>
     51<userinput arch="ml_x32,ml_all">
     52cd &lib-mx32;
     53for LIB in $save_lib; do
     54    objcopy --only-keep-debug $LIB $LIB.dbg
     55    strip --strip-unneeded $LIB
     56    objcopy --add-gnu-debuglink=$LIB.dbg $LIB
     57done</userinput><userinput>
    4558
    4659save_usrlib="libquadmath.so.&libquadmath-version; libstdc++.so.&libstdcpp-version;
     
    4861
    4962cd /usr/lib
    50 
    5163for LIB in $save_usrlib; do
    5264    objcopy --only-keep-debug $LIB $LIB.dbg
    5365    strip --strip-unneeded $LIB
    5466    objcopy --add-gnu-debuglink=$LIB.dbg $LIB
    55 done
     67done</userinput>
     68<userinput arch="ml_32,ml_all">
     69cd &usr-lib-m32;
     70for LIB in $save_usrlib; do
     71    objcopy --only-keep-debug $LIB $LIB.dbg
     72    strip --strip-unneeded $LIB
     73    objcopy --add-gnu-debuglink=$LIB.dbg $LIB
     74done</userinput>
     75<userinput arch="ml_x32,ml_all">
     76cd &usr-lib-mx32;
     77for LIB in $save_usrlib; do
     78    objcopy --only-keep-debug $LIB $LIB.dbg
     79    strip --strip-unneeded $LIB
     80    objcopy --add-gnu-debuglink=$LIB.dbg $LIB
     81done</userinput><userinput>
    5682
    5783unset LIB save_lib save_usrlib</userinput></screen>
    5884
    59 <screen arch="ml_32,ml_x32,ml_all"><userinput>save_lib="ld-&glibc-version;.so libc-&glibc-version;.so libpthread-&glibc-version;.so libthread_db-&libthread_db-version;.so"
    60 
    61 cd /lib
    62 
    63 for LIB in $save_lib; do
    64     objcopy --only-keep-debug $LIB $LIB.dbg
    65     strip --strip-unneeded $LIB
    66     objcopy --add-gnu-debuglink=$LIB.dbg $LIB
    67 done   
    68 
    69 save_usrlib="libquadmath.so.&libquadmath-version; libstdc++.so.&libstdcpp-version;
    70              libitm.so.&libitm-version; libatomic.so.&libatomic-version;" <!-- libcilkrts.so.&libcilkrts-version;-->
    71 
    72 for libdir in /usr/lib{,{,x}32}; do
    73     cd $libdir
    74     for LIB in $save_usrlib; do
    75         objcopy --only-keep-debug $LIB $LIB.dbg
    76         strip --strip-unneeded $LIB
    77         objcopy --add-gnu-debuglink=$LIB.dbg $LIB
    78     done
    79 done
    80 
    81 unset LIB save_lib save_usrlib</userinput></screen>
    82 
    83   <para>Before performing the stripping, take special care to ensure that
     85<!--  <para>Before performing the stripping, take special care to ensure that
    8486  none of the binaries that are about to be stripped are running:</para>
    8587
    8688<screen role="nodump"><userinput>exec /tools/bin/bash</userinput></screen>
    8789 
    88   <!--
    89   If
    90   unsure whether the user entered chroot with the command given in
    91   <xref linkend="ch-system-chroot" role=","/> first use the version
    92   of bash we created in
    93   chroot:</para>
     90  <para>Now the binaries and libraries can be safely stripped:</para>
     91-->
     92  <para>Now the binaries and libraries can be stripped:</para>
     93<screen><userinput>find /usr/lib -type f -name \*.a \
     94   -exec strip --strip-debug {} ';'</userinput>
     95<userinput arch="ml_32,ml_all">find &usr-lib-m32; -type f -name \*.a \
     96   -exec strip --strip-debug {} ';'</userinput>
     97<userinput arch="ml_x32,ml_all">find &usr-lib-mx32; -type f -name \*.a \
     98   -exec strip --strip-debug {} ';'</userinput><userinput>
    9499
    95 <screen role="nodump"><userinput>logout</userinput></screen>
     100find /lib /usr/lib -type f -name \*.so* ! -name \*dbg \
     101   -exec strip --strip-unneeded {} ';'</userinput>
     102<userinput arch="ml_32,ml_all">find &lib-m32; &usr-lib-m32; -type f -name \*.so* ! -name \*dbg \
     103   -exec strip --strip-unneeded {} ';'</userinput>
     104<userinput arch="ml_x32,ml_all">find &lib-mx32; &usr-lib-mx32; -type f -name \*.so* ! -name \*dbg \
     105   -exec strip --strip-unneeded {} ';'</userinput><userinput>
    96106
    97   <para>Then reenter it with:</para>
    98 
    99 <screen role="nodump"><userinput>chroot $LFS /tools/bin/env -i          \
    100     HOME=/root TERM=$TERM              \
    101     PS1='(lfs chroot) \u:\w\$ '        \
    102     PATH=/bin:/usr/bin:/sbin:/usr/sbin \
    103     /tools/bin/bash - -login</userinput></screen>-->
    104 
    105   <para>Now the binaries and libraries can be safely stripped:</para>
    106 
    107 <screen arch="default"><userinput>/tools/bin/find /usr/lib -type f -name \*.a \
    108    -exec /tools/bin/strip --strip-debug {} ';'
    109 
    110 /tools/bin/find /lib /usr/lib -type f \( -name \*.so* -a ! -name \*dbg \) \
    111    -exec /tools/bin/strip --strip-unneeded {} ';'
    112 
    113 /tools/bin/find /{bin,sbin} /usr/{bin,sbin,libexec} -type f \
    114     -exec /tools/bin/strip --strip-all {} ';'</userinput></screen>
    115 
    116 <screen arch="ml_32,ml_x32,ml_all"><userinput>/tools/bin/find /usr/lib{,{,x}32} -type f -name \*.a \
    117    -exec /tools/bin/strip --strip-debug {} ';'
    118 
    119 /tools/bin/find /lib /usr/lib{,{,x}32} -type f \( -name \*.so* -a ! -name \*dbg \) \
    120    -exec /tools/bin/strip --strip-unneeded {} ';'
    121 
    122 /tools/bin/find /{bin,sbin} /usr/{bin,sbin,libexec} -type f \
    123     -exec /tools/bin/strip --strip-all {} ';'</userinput></screen>
     107find /{bin,sbin} /usr/{bin,sbin,libexec} -type f \
     108    -exec strip --strip-all {} ';'</userinput></screen>
    124109
    125110  <para>A large number of files will be reported as having their file
Note: See TracChangeset for help on using the changeset viewer.