Ignore:
Timestamp:
02/01/2006 08:41:29 PM (18 years ago)
Author:
Manuel Canales Esparcia <manuel@…>
Branches:
10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
Children:
8ef8304
Parents:
50e693d
Message:

Indenting chapter 6, part 2.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7324 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapter06/binutils.xml

    r50e693d r92474b45  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-binutils" role="wrap">
    7 <title>Binutils-&binutils-version;</title>
    8 <?dbhtml filename="binutils.html"?>
    9 
    10 <indexterm zone="ch-system-binutils"><primary sortas="a-Binutils">Binutils</primary></indexterm>
    11 
    12 <sect2 role="package"><title/>
    13 <para>The Binutils package contains a linker, an assembler, and other tools for
    14 handling object files.</para>
    15 
    16 <segmentedlist>
    17 <segtitle>&buildtime;</segtitle>
    18 <segtitle>&diskspace;</segtitle>
    19 <seglistitem><seg>1.3 SBU</seg><seg>158 MB</seg></seglistitem>
    20 </segmentedlist>
    21 
    22 <segmentedlist>
    23 <segtitle>&dependencies;</segtitle>
    24 <seglistitem><seg>Bash, Coreutils, Diffutils, GCC, Gettext,
    25 Glibc, Grep, M4, Make, Perl, Sed, and Texinfo</seg></seglistitem>
    26 </segmentedlist>
    27 </sect2>
    28 
    29 <sect2 role="installation">
    30 <title>Installation of Binutils</title>
    31 
    32 <para>Verify that the PTYs are working properly inside the chroot
    33 environment. Check that everything is set up correctly by performing a
    34 simple test:</para>
     9  <?dbhtml filename="binutils.html"?>
     10
     11  <title>Binutils-&binutils-version;</title>
     12
     13  <indexterm zone="ch-system-binutils">
     14    <primary sortas="a-Binutils">Binutils</primary>
     15  </indexterm>
     16
     17  <sect2 role="package">
     18    <title/>
     19
     20    <para>The Binutils package contains a linker, an assembler, and other
     21    tools for handling object files.</para>
     22
     23    <segmentedlist>
     24      <segtitle>&buildtime;</segtitle>
     25      <segtitle>&diskspace;</segtitle>
     26
     27      <seglistitem>
     28        <seg>1.3 SBU</seg>
     29        <seg>158 MB</seg>
     30      </seglistitem>
     31    </segmentedlist>
     32
     33    <segmentedlist>
     34      <segtitle>&dependencies;</segtitle>
     35
     36      <seglistitem>
     37        <seg>Bash, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, M4,
     38        Make, Perl, Sed, and Texinfo</seg>
     39      </seglistitem>
     40    </segmentedlist>
     41
     42  </sect2>
     43
     44  <sect2 role="installation">
     45    <title>Installation of Binutils</title>
     46
     47    <para>Verify that the PTYs are working properly inside the chroot
     48    environment. Check that everything is set up correctly by performing a
     49    simple test:</para>
    3550
    3651<screen><userinput>expect -c "spawn ls"</userinput></screen>
    3752
    38 <para>If the following message shows up, the chroot environment is not
    39 set up for proper PTY operation:</para>
    40 
    41 <screen><computeroutput>The system has no more ptys. 
     53    <para>If the following message shows up, the chroot environment is not
     54    set up for proper PTY operation:</para>
     55
     56<screen><computeroutput>The system has no more ptys.
    4257Ask your system administrator to create more.</computeroutput></screen>
    4358
    44 <para>This issue needs to be resolved before running the test suites
    45 for Binutils and GCC.</para>
    46 
    47 <para>The Binutils documentation recommends building Binutils outside of the
    48 source directory in a dedicated build directory:</para>
     59    <para>This issue needs to be resolved before running the test suites
     60    for Binutils and GCC.</para>
     61
     62    <para>The Binutils documentation recommends building Binutils outside of the
     63    source directory in a dedicated build directory:</para>
    4964
    5065<screen><userinput>mkdir -v ../binutils-build
    5166cd ../binutils-build</userinput></screen>
    5267
    53 <para>Prepare Binutils for compilation:</para>
     68    <para>Prepare Binutils for compilation:</para>
    5469
    5570<screen><userinput>../binutils-&binutils-version;/configure --prefix=/usr \
    5671    --enable-shared</userinput></screen>
    5772
    58 <para>Compile the package:</para>
     73    <para>Compile the package:</para>
    5974
    6075<screen><userinput>make tooldir=/usr</userinput></screen>
    6176
    62   <variablelist>
    63     <title>The meaning of the make parameter:</title>
    64      <varlistentry>
    65       <term><parameter>tooldir=/usr</parameter></term>
    66       <listitem>
    67         <para>Normally, the tooldir (the directory where the executables will
    68         ultimately be located) is set to <filename
    69         class="directory">$(exec_prefix)/$(target_alias)</filename>. For
    70         example, i686 machines would expand that to <filename
    71         class="directory">/usr/i686-pc-linux-gnu</filename>. Because this is
    72         a custom system, this target-specific directory in <filename
    73         class="directory">/usr</filename> is not required. <filename
    74         class="directory">$(exec_prefix)/$(target_alias)</filename> would be
    75         used if the system was used to cross-compile (for example, compiling a
    76         package on an Intel machine that generates code that can be executed
    77         on PowerPC machines).</para>
    78       </listitem>
    79     </varlistentry>
    80   </variablelist>
    81 
    82 <important><para>The test suite for Binutils in this section is
    83 considered critical. Do not skip it under any
    84 circumstances.</para></important>
    85 
    86 <para>Test the results:</para>
     77    <variablelist>
     78      <title>The meaning of the make parameter:</title>
     79
     80      <varlistentry>
     81        <term><parameter>tooldir=/usr</parameter></term>
     82        <listitem>
     83          <para>Normally, the tooldir (the directory where the executables will
     84          ultimately be located) is set to <filename
     85          class="directory">$(exec_prefix)/$(target_alias)</filename>. For
     86          example, i686 machines would expand that to <filename
     87          class="directory">/usr/i686-pc-linux-gnu</filename>. Because this is
     88          a custom system, this target-specific directory in <filename
     89          class="directory">/usr</filename> is not required. <filename
     90          class="directory">$(exec_prefix)/$(target_alias)</filename> would be
     91          used if the system was used to cross-compile (for example, compiling a
     92          package on an Intel machine that generates code that can be executed
     93          on PowerPC machines).</para>
     94        </listitem>
     95      </varlistentry>
     96
     97    </variablelist>
     98
     99    <important>
     100      <para>The test suite for Binutils in this section is considered critical.
     101      Do not skip it under any circumstances.</para>
     102    </important>
     103
     104    <para>Test the results:</para>
    87105
    88106<screen><userinput>make check</userinput></screen>
    89107
    90 <para>Install the package:</para>
     108    <para>Install the package:</para>
    91109
    92110<screen><userinput>make tooldir=/usr install</userinput></screen>
    93111
    94 <para>Install the <filename class="headerfile">libiberty</filename> header file that is needed by
    95 some packages:</para>
     112    <para>Install the <filename class="headerfile">libiberty</filename> header
     113    file that is needed by some packages:</para>
    96114
    97115<screen><userinput>cp -v ../binutils-&binutils-version;/include/libiberty.h /usr/include</userinput></screen>
    98116
    99 </sect2>
    100 
    101 
    102 <sect2 id="contents-binutils" role="content"><title>Contents of Binutils</title>
    103 
    104 <segmentedlist>
    105 <segtitle>Installed programs</segtitle>
    106 <segtitle>Installed libraries</segtitle>
    107 <seglistitem><seg>addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump,
    108 ranlib, readelf, size, strings, and strip</seg>
    109 <seg>libiberty.a, libbfd.[a,so], and libopcodes.[a,so]</seg></seglistitem>
    110 </segmentedlist>
    111 
    112 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    113 <?dbfo list-presentation="list"?>
    114 <?dbhtml list-presentation="table"?>
    115 
    116 <varlistentry id="addr2line">
    117 <term><command>addr2line</command></term>
    118 <listitem>
    119 <para>Translates program addresses to file names and line numbers;
    120 given an address and the name of an executable, it uses the debugging
    121 information in the executable to determine which source file and line
    122 number are associated with the address</para>
    123 <indexterm zone="ch-system-binutils addr2line"><primary sortas="b-addr2line">addr2line</primary></indexterm>
    124 </listitem>
    125 </varlistentry>
    126 
    127 <varlistentry id="ar">
    128 <term><command>ar</command></term>
    129 <listitem>
    130 <para>Creates, modifies, and extracts from archives</para>
    131 <indexterm zone="ch-system-binutils ar"><primary sortas="b-ar">ar</primary></indexterm>
    132 </listitem>
    133 </varlistentry>
    134 
    135 <varlistentry id="as">
    136 <term><command>as</command></term>
    137 <listitem>
    138 <para>An assembler that assembles the output of <command>gcc</command>
    139 into object files</para>
    140 <indexterm zone="ch-system-binutils as"><primary sortas="b-as">as</primary></indexterm>
    141 </listitem>
    142 </varlistentry>
    143 
    144 <varlistentry id="c-filt">
    145 <term><command>c++filt</command></term>
    146 <listitem>
    147 <para>Used by the linker to de-mangle C++ and Java symbols and to keep
    148 overloaded functions from clashing</para>
    149 <indexterm zone="ch-system-binutils c-filt"><primary sortas="b-c++filt">c++filt</primary></indexterm>
    150 </listitem>
    151 </varlistentry>
    152 
    153 <varlistentry id="gprof">
    154 <term><command>gprof</command></term>
    155 <listitem>
    156 <para>Displays call graph profile data</para>
    157 <indexterm zone="ch-system-binutils gprof"><primary sortas="b-gprof">gprof</primary></indexterm>
    158 </listitem>
    159 </varlistentry>
    160 
    161 <varlistentry id="ld">
    162 <term><command>ld</command></term>
    163 <listitem>
    164 <para>A linker that combines a number of object and archive files into a single file,
    165 relocating their data and tying up symbol references</para>
    166 <indexterm zone="ch-system-binutils ld"><primary sortas="b-ld">ld</primary></indexterm>
    167 </listitem>
    168 </varlistentry>
    169 
    170 <varlistentry id="nm">
    171 <term><command>nm</command></term>
    172 <listitem>
    173 <para>Lists the symbols occurring in a given object file</para>
    174 <indexterm zone="ch-system-binutils nm"><primary sortas="b-nm">nm</primary></indexterm>
    175 </listitem>
    176 </varlistentry>
    177 
    178 <varlistentry id="objcopy">
    179 <term><command>objcopy</command></term>
    180 <listitem>
    181 <para>Translates one type of object file into another</para>
    182 <indexterm zone="ch-system-binutils objcopy"><primary sortas="b-objcopy">objcopy</primary></indexterm>
    183 </listitem>
    184 </varlistentry>
    185 
    186 <varlistentry id="objdump">
    187 <term><command>objdump</command></term>
    188 <listitem>
    189 <para>Displays information about the given object file, with options
    190 controlling the particular information to display; the information
    191 shown is useful to programmers who are working on the compilation
    192 tools</para>
    193 <indexterm zone="ch-system-binutils objdump"><primary sortas="b-objdump">objdump</primary></indexterm>
    194 </listitem>
    195 </varlistentry>
    196 
    197 <varlistentry id="ranlib">
    198 <term><command>ranlib</command></term>
    199 <listitem>
    200 <para>Generates an index of the contents of an archive and stores it
    201 in the archive; the index lists all of the symbols defined by archive
    202 members that are relocatable object files</para>
    203 <indexterm zone="ch-system-binutils ranlib"><primary sortas="b-ranlib">ranlib</primary></indexterm>
    204 </listitem>
    205 </varlistentry>
    206 
    207 <varlistentry id="readelf">
    208 <term><command>readelf</command></term>
    209 <listitem>
    210 <para>Displays information about ELF type binaries</para>
    211 <indexterm zone="ch-system-binutils readelf"><primary sortas="b-readelf">readelf</primary></indexterm>
    212 </listitem>
    213 </varlistentry>
    214 
    215 <varlistentry id="size">
    216 <term><command>size</command></term>
    217 <listitem>
    218 <para>Lists the section sizes and the total size for the given object files</para>
    219 <indexterm zone="ch-system-binutils size"><primary sortas="b-size">size</primary></indexterm>
    220 </listitem>
    221 </varlistentry>
    222 
    223 <varlistentry id="strings">
    224 <term><command>strings</command></term>
    225 <listitem>
    226 <para>Outputs, for each given file, the sequences of printable
    227 characters that are of at least the specified length (defaulting to
    228 four); for object files, it prints, by default, only the strings from
    229 the initializing and loading sections while for other types of files, it
    230 scans the entire file</para>
    231 <indexterm zone="ch-system-binutils strings"><primary sortas="b-strings">strings</primary></indexterm>
    232 </listitem>
    233 </varlistentry>
    234 
    235 <varlistentry id="strip">
    236 <term><command>strip</command></term>
    237 <listitem>
    238 <para>Discards symbols from object files</para>
    239 <indexterm zone="ch-system-binutils strip"><primary sortas="b-strip">strip</primary></indexterm>
    240 </listitem>
    241 </varlistentry>
    242 
    243 <varlistentry id="libiberty">
    244 <term><filename class="libraryfile">libiberty</filename></term>
    245 <listitem>
    246 <para>Contains routines used by various GNU programs, including
    247 <command>getopt</command>, <command>obstack</command>,
    248 <command>strerror</command>, <command>strtol</command>, and
    249 <command>strtoul</command></para>
    250 <indexterm zone="ch-system-binutils libiberty"><primary sortas="c-libiberty">libiberty</primary></indexterm>
    251 </listitem>
    252 </varlistentry>
    253 
    254 <varlistentry id="libbfd">
    255 <term><filename class="libraryfile">libbfd</filename></term>
    256 <listitem>
    257 <para>The Binary File Descriptor library</para>
    258 <indexterm zone="ch-system-binutils libbfd"><primary sortas="c-libbfd">libbfd</primary></indexterm>
    259 </listitem>
    260 </varlistentry>
    261 
    262 <varlistentry id="libopcodes">
    263 <term><filename class="libraryfile">libopcodes</filename></term>
    264 <listitem>
    265 <para>A library for dealing with opcodes&mdash;the <quote>readable
    266 text</quote> versions of instructions for the processor;
    267 it is used for building utilities like
    268 <command>objdump</command>.</para>
    269 <indexterm zone="ch-system-binutils libopcodes"><primary sortas="c-libopcodes">libopcodes</primary></indexterm>
    270 </listitem>
    271 </varlistentry>
    272 </variablelist>
    273 
    274 </sect2>
     117  </sect2>
     118
     119
     120  <sect2 id="contents-binutils" role="content">
     121    <title>Contents of Binutils</title>
     122
     123    <segmentedlist>
     124      <segtitle>Installed programs</segtitle>
     125      <segtitle>Installed libraries</segtitle>
     126
     127      <seglistitem>
     128        <seg>addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump,
     129        ranlib, readelf, size, strings, and strip</seg>
     130        <seg>libiberty.a, libbfd.[a,so], and libopcodes.[a,so]</seg>
     131      </seglistitem>
     132    </segmentedlist>
     133
     134    <variablelist>
     135      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     136      <?dbfo list-presentation="list"?>
     137      <?dbhtml list-presentation="table"?>
     138
     139      <varlistentry id="addr2line">
     140        <term><command>addr2line</command></term>
     141        <listitem>
     142          <para>Translates program addresses to file names and line numbers;
     143          given an address and the name of an executable, it uses the debugging
     144          information in the executable to determine which source file and line
     145          number are associated with the address</para>
     146          <indexterm zone="ch-system-binutils addr2line">
     147            <primary sortas="b-addr2line">addr2line</primary>
     148          </indexterm>
     149        </listitem>
     150      </varlistentry>
     151
     152      <varlistentry id="ar">
     153        <term><command>ar</command></term>
     154        <listitem>
     155          <para>Creates, modifies, and extracts from archives</para>
     156          <indexterm zone="ch-system-binutils ar">
     157            <primary sortas="b-ar">ar</primary>
     158          </indexterm>
     159        </listitem>
     160      </varlistentry>
     161
     162      <varlistentry id="as">
     163        <term><command>as</command></term>
     164        <listitem>
     165          <para>An assembler that assembles the output of <command>gcc</command>
     166          into object files</para>
     167          <indexterm zone="ch-system-binutils as">
     168            <primary sortas="b-as">as</primary>
     169          </indexterm>
     170        </listitem>
     171      </varlistentry>
     172
     173      <varlistentry id="c-filt">
     174        <term><command>c++filt</command></term>
     175        <listitem>
     176          <para>Used by the linker to de-mangle C++ and Java symbols and to keep
     177          overloaded functions from clashing</para>
     178          <indexterm zone="ch-system-binutils c-filt">
     179            <primary sortas="b-c++filt">c++filt</primary>
     180          </indexterm>
     181        </listitem>
     182      </varlistentry>
     183
     184      <varlistentry id="gprof">
     185        <term><command>gprof</command></term>
     186        <listitem>
     187          <para>Displays call graph profile data</para>
     188          <indexterm zone="ch-system-binutils gprof">
     189            <primary sortas="b-gprof">gprof</primary>
     190          </indexterm>
     191        </listitem>
     192      </varlistentry>
     193
     194      <varlistentry id="ld">
     195        <term><command>ld</command></term>
     196        <listitem>
     197          <para>A linker that combines a number of object and archive files
     198          into a single file, relocating their data and tying up symbol
     199          references</para>
     200          <indexterm zone="ch-system-binutils ld">
     201            <primary sortas="b-ld">ld</primary>
     202          </indexterm>
     203        </listitem>
     204      </varlistentry>
     205
     206      <varlistentry id="nm">
     207        <term><command>nm</command></term>
     208        <listitem>
     209          <para>Lists the symbols occurring in a given object file</para>
     210          <indexterm zone="ch-system-binutils nm">
     211            <primary sortas="b-nm">nm</primary>
     212          </indexterm>
     213        </listitem>
     214      </varlistentry>
     215
     216      <varlistentry id="objcopy">
     217        <term><command>objcopy</command></term>
     218        <listitem>
     219          <para>Translates one type of object file into another</para>
     220          <indexterm zone="ch-system-binutils objcopy">
     221            <primary sortas="b-objcopy">objcopy</primary>
     222          </indexterm>
     223        </listitem>
     224      </varlistentry>
     225
     226      <varlistentry id="objdump">
     227        <term><command>objdump</command></term>
     228        <listitem>
     229          <para>Displays information about the given object file, with options
     230          controlling the particular information to display; the information
     231          shown is useful to programmers who are working on the compilation
     232          tools</para>
     233          <indexterm zone="ch-system-binutils objdump">
     234            <primary sortas="b-objdump">objdump</primary>
     235          </indexterm>
     236        </listitem>
     237      </varlistentry>
     238
     239      <varlistentry id="ranlib">
     240        <term><command>ranlib</command></term>
     241        <listitem>
     242          <para>Generates an index of the contents of an archive and stores it
     243          in the archive; the index lists all of the symbols defined by archive
     244          members that are relocatable object files</para>
     245          <indexterm zone="ch-system-binutils ranlib">
     246            <primary sortas="b-ranlib">ranlib</primary>
     247          </indexterm>
     248        </listitem>
     249      </varlistentry>
     250
     251      <varlistentry id="readelf">
     252        <term><command>readelf</command></term>
     253        <listitem>
     254          <para>Displays information about ELF type binaries</para>
     255          <indexterm zone="ch-system-binutils readelf">
     256            <primary sortas="b-readelf">readelf</primary>
     257          </indexterm>
     258        </listitem>
     259      </varlistentry>
     260
     261      <varlistentry id="size">
     262        <term><command>size</command></term>
     263        <listitem>
     264          <para>Lists the section sizes and the total size for the given
     265          object files</para>
     266          <indexterm zone="ch-system-binutils size">
     267            <primary sortas="b-size">size</primary>
     268          </indexterm>
     269        </listitem>
     270      </varlistentry>
     271
     272      <varlistentry id="strings">
     273        <term><command>strings</command></term>
     274        <listitem>
     275          <para>Outputs, for each given file, the sequences of printable
     276          characters that are of at least the specified length (defaulting to
     277          four); for object files, it prints, by default, only the strings from
     278          the initializing and loading sections while for other types of files, it
     279          scans the entire file</para>
     280          <indexterm zone="ch-system-binutils strings">
     281            <primary sortas="b-strings">strings</primary>
     282          </indexterm>
     283        </listitem>
     284      </varlistentry>
     285
     286      <varlistentry id="strip">
     287        <term><command>strip</command></term>
     288        <listitem>
     289          <para>Discards symbols from object files</para>
     290          <indexterm zone="ch-system-binutils strip">
     291            <primary sortas="b-strip">strip</primary>
     292          </indexterm>
     293        </listitem>
     294      </varlistentry>
     295
     296      <varlistentry id="libiberty">
     297        <term><filename class="libraryfile">libiberty</filename></term>
     298        <listitem>
     299          <para>Contains routines used by various GNU programs, including
     300          <command>getopt</command>, <command>obstack</command>,
     301          <command>strerror</command>, <command>strtol</command>, and
     302          <command>strtoul</command></para>
     303          <indexterm zone="ch-system-binutils libiberty">
     304            <primary sortas="c-libiberty">libiberty</primary>
     305          </indexterm>
     306        </listitem>
     307      </varlistentry>
     308
     309      <varlistentry id="libbfd">
     310        <term><filename class="libraryfile">libbfd</filename></term>
     311        <listitem>
     312          <para>The Binary File Descriptor library</para>
     313          <indexterm zone="ch-system-binutils libbfd">
     314            <primary sortas="c-libbfd">libbfd</primary>
     315          </indexterm>
     316        </listitem>
     317      </varlistentry>
     318
     319      <varlistentry id="libopcodes">
     320        <term><filename class="libraryfile">libopcodes</filename></term>
     321        <listitem>
     322          <para>A library for dealing with opcodes&mdash;the <quote>readable
     323          text</quote> versions of instructions for the processor;
     324          it is used for building utilities like
     325          <command>objdump</command>.</para>
     326          <indexterm zone="ch-system-binutils libopcodes">
     327            <primary sortas="c-libopcodes">libopcodes</primary>
     328          </indexterm>
     329        </listitem>
     330      </varlistentry>
     331
     332    </variablelist>
     333
     334  </sect2>
    275335
    276336</sect1>
    277 
Note: See TracChangeset for help on using the changeset viewer.