source: chapter05/stripping.xml@ ac340c2

ml-11.0 multilib
Last change on this file since ac340c2 was fd48baa, checked in by Xℹ Ruoyao <xry111@…>, 3 years ago

Change profiling attribute to enable selection of m32 and/or mx32. Fixes #4452.

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

  • Property mode set to 100644
File size: 2.5 KB
RevLine 
[673b0d8]1<?xml version="1.0" encoding="ISO-8859-1"?>
[b06ca36]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[673b0d8]4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
[b28fd35]7
[673b0d8]8<sect1 id="ch-tools-stripping">
[b28fd35]9 <?dbhtml filename="stripping.html"?>
10
11 <title>Stripping</title>
[673b0d8]12
[b28fd35]13 <para>The steps in this section are optional, but if the LFS partition is
14 rather small, it is beneficial to learn that unnecessary items can be removed.
[0b37960]15 The executables and libraries built so far contain about 70 MB of unneeded
[b28fd35]16 debugging symbols. Remove those symbols with:</para>
[3d36131c]17
[b3f1ebb3]18<screen arch="default"><userinput>strip --strip-debug /tools/lib/*
19/usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
20
[fd48baa]21<screen arch="ml_32"><userinput>strip --strip-debug /tools/lib{,32}/*
22/usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
23<screen arch="ml_x32"><userinput>strip --strip-debug /tools/lib{,x32}/*
24/usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
25<screen arch="ml_all"><userinput>strip --strip-debug /tools/lib{,{,x}32}/*
[3dc9543]26/usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
[673b0d8]27
[182d5d3]28 <para>These commands will skip a number of files, reporting that it does not
[3dc9543]29 recognize their file format. Most of these are scripts instead of binaries.
30 Also use the system strip command to include the strip binary in /tools.</para>
[81fd230]31
[b28fd35]32 <para>Take care <emphasis>not</emphasis> to use
33 <parameter>--strip-unneeded</parameter> on the libraries. The static
34 ones would be destroyed and the toolchain packages would need to be
35 built all over again.</para>
[81fd230]36
[776f1dc]37 <para>To save more, remove the documentation:</para>
[3d36131c]38
[776f1dc]39<screen><userinput>rm -rf /tools/{,share}/{info,man,doc}</userinput></screen>
[673b0d8]40
[a91de2aa]41 <para>Remove unneeded files:</para>
42
[b3f1ebb3]43<screen arch="default"><userinput>find /tools/{lib,libexec} -name \*.la -delete</userinput></screen>
44
[fd48baa]45<screen arch="ml_32"><userinput>find /tools/{lib{,32},libexec} -name \*.la -delete</userinput></screen>
46<screen arch="ml_x32"><userinput>find /tools/{lib{,x32},libexec} -name \*.la -delete</userinput></screen>
47<screen arch="ml_all"><userinput>find /tools/{lib{,{,x}32},libexec} -name \*.la -delete</userinput></screen>
[a91de2aa]48
[1fb7bae]49 <para>At this point, you should have at least 3 GB of free space in
50 <envar>$LFS</envar> that can be used to build and install Glibc and Gcc in
51 the next phase. If you can build and install Glibc, you can build and install
[0b37960]52 the rest too.</para>
[81fd230]53
[673b0d8]54</sect1>
Note: See TracBrowser for help on using the repository browser.