Subversion Repositories svn LFS-FR

Rev

Rev 1344 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
475 gleu 1
<?xml version="1.0" encoding="ISO-8859-1"?>
591 gleu 2
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
475 gleu 4
  <!ENTITY % general-entities SYSTEM "../general.ent">
5
  %general-entities;
6
]>
591 gleu 7
 
524 gleu 8
<sect1 id="ch-system-binutils" role="wrap">
591 gleu 9
  <?dbhtml filename="binutils.html"?>
475 gleu 10
 
602 texou 11
  <sect1info condition="script">
12
    <productname>binutils</productname>
13
    <productnumber>&binutils-version;</productnumber>
14
    <address>&binutils-url;</address>
15
  </sect1info>
16
 
591 gleu 17
  <title>Binutils-&binutils-version;</title>
475 gleu 18
 
591 gleu 19
  <indexterm zone="ch-system-binutils">
20
    <primary sortas="a-Binutils">Binutils</primary>
21
  </indexterm>
475 gleu 22
 
591 gleu 23
  <sect2 role="package">
24
    <title/>
475 gleu 25
 
591 gleu 26
    <para>Le paquet Binutils contient un éditeur de liens, un assembleur
27
    et d'autres outils pour gérer des fichiers objets.</para>
475 gleu 28
 
591 gleu 29
    <segmentedlist>
30
      <segtitle>&buildtime;</segtitle>
31
      <segtitle>&diskspace;</segtitle>
475 gleu 32
 
591 gleu 33
      <seglistitem>
34
        <seg>&binutils-ch6-sbu;</seg>
35
        <seg>&binutils-ch6-du;</seg>
36
      </seglistitem>
37
    </segmentedlist>
475 gleu 38
 
591 gleu 39
  </sect2>
475 gleu 40
 
591 gleu 41
  <sect2 role="installation">
42
    <title>Installation de Binutils</title>
43
 
44
    <para>Vérifiez que les pseudo-terminaux (PTY) fonctionnent
780 texou 45
    correctement dans l'environnement en effectuant un simple test&nbsp;:</para>
591 gleu 46
 
602 texou 47
<screen><userinput remap="test">expect -c "spawn ls"</userinput></screen>
475 gleu 48
 
780 texou 49
    <para>Cette commande devrait afficher ce qui suit&nbsp;:</para>
50
 
51
<screen><computeroutput>spawn ls</computeroutput></screen>
475 gleu 52
 
780 texou 53
    <para>Si, à la place, la sortie affiche le message ci-dessous, c'est que
54
    l'environnement n'est pas paramétré pour la bonne opération PTY. Vous
55
    devez résoudre ce problème avant de lancer les suites de test de Binutils
56
    et de GCC&nbsp;:</para>
57
 
591 gleu 58
<screen><computeroutput>The system has no more ptys.
524 gleu 59
Ask your system administrator to create more.</computeroutput></screen>
475 gleu 60
 
696 texou 61
    <para>Supprimez l'installation d'un fichier obsolète
62
    <filename>standards.info</filename> puisqu'un plus récent est installe plus
63
    tard dans les instructions pour Autoconf&nbsp;:</para>
64
 
65
<screen><userinput remap="pre">rm -fv etc/standards.info
66
sed -i.bak '/^INFO/s/standards.info //' etc/Makefile.in</userinput></screen>
67
 
591 gleu 68
    <para>La documentation de Binutils recommande de construire Binutils
69
    à l'extérieur du répertoire des sources dans un répertoire
70
    dédié&nbsp;:</para>
475 gleu 71
 
602 texou 72
<screen><userinput remap="pre">mkdir -v ../binutils-build
475 gleu 73
cd ../binutils-build</userinput></screen>
74
 
591 gleu 75
    <para>Préparez la compilation de Binutils&nbsp;:</para>
475 gleu 76
 
602 texou 77
<screen><userinput remap="configure">../binutils-&binutils-version;/configure --prefix=/usr \
524 gleu 78
    --enable-shared</userinput></screen>
475 gleu 79
 
591 gleu 80
    <para>Compilez le paquet&nbsp;:</para>
475 gleu 81
 
602 texou 82
<screen><userinput remap="make">make tooldir=/usr</userinput></screen>
475 gleu 83
 
591 gleu 84
    <variablelist>
85
      <title>Voici la signification des options de configure&nbsp;:</title>
475 gleu 86
 
591 gleu 87
      <varlistentry>
88
        <term><parameter>tooldir=/usr</parameter></term>
89
        <listitem>
90
          <para>Normalement, le répertoire
91
          <filename class="directory">tooldir</filename> (celui où seront
92
          placés les exécutables) est configuré avec
475 gleu 93
 
591 gleu 94
          <filename class="directory">$(exec_prefix)/$(target_alias)</filename>.
475 gleu 95
 
667 texou 96
          Par exemple, les
730 texou 97
          machines x86_64 l'étendront en
98
          <filename class="directory">/usr/x86_64-unknown-linux-gnu</filename>.
591 gleu 99
          Comme il s'agit d'un système personnalisé, nous n'avons pas
100
          besoin d'un répertoire spécifique à notre cible dans
101
 
102
          <filename class="directory">/usr</filename>.
103
 
104
          <filename class="directory">$(exec_prefix)/$(target_alias)</filename>
105
 
106
          serait utilisée si le système avait pour but une cross-compilation (par exemple, compiler un paquet
107
          sur une machine Intel qui génère du code pouvant être exécuté sur des machines
108
          PowerPC).</para>
109
        </listitem>
110
      </varlistentry>
111
 
112
    </variablelist>
113
 
114
    <important>
115
      <para>La suite de tests de Binutils dans cette section est
116
      considérée comme critique. Ne la sautez sous aucun prétexte.</para>
117
    </important>
118
 
119
    <para>Testez les résultats&nbsp;:</para>
120
 
1347 jmengual 121
<screen><userinput remap="test">make CC="gcc -O2 -fno-stack-protector -nopie -fno-PIE -no-warn-shared-textrel" \
122
    CXX="g++ -O2 -fno-stack-protector -nopie -fno-PIE -no-warn-shared-textrel" check</userinput></screen>
475 gleu 123
 
591 gleu 124
    <para>Installez le paquet&nbsp;:</para>
475 gleu 125
 
602 texou 126
<screen><userinput remap="install">make tooldir=/usr install</userinput></screen>
475 gleu 127
 
591 gleu 128
    <para>Installez le fichier d'en-tête
475 gleu 129
 
591 gleu 130
     <filename class="headerfile">libiberty</filename> requis par
131
     certains paquets&nbsp;:</para>
602 texou 132
<screen><userinput remap="install">cp -v ../binutils-&binutils-version;/include/libiberty.h /usr/include</userinput></screen>
475 gleu 133
 
591 gleu 134
  </sect2>
475 gleu 135
 
136
 
591 gleu 137
  <sect2 id="contents-binutils" role="content">
138
    <title>Contenu de Binutils</title>
475 gleu 139
 
591 gleu 140
    <segmentedlist>
141
      <segtitle>Programmes installés</segtitle>
142
      <segtitle>Bibliothèques installées</segtitle>
1162 jmengual 143
      <segtitle>Répertoire installé</segtitle>
475 gleu 144
 
591 gleu 145
      <seglistitem>
146
        <seg>addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump,
147
        ranlib, readelf, size, strings et strip</seg>
148
        <seg>libiberty.a, libbfd.{a,so} et libopcodes.{a,so}</seg>
1162 jmengual 149
        <seg>/usr/lib/ldscripts</seg>
591 gleu 150
      </seglistitem>
151
    </segmentedlist>
475 gleu 152
 
591 gleu 153
    <variablelist>
154
      <bridgehead renderas="sect3">Descriptions courtes</bridgehead>
155
      <?dbfo list-presentation="list"?>
156
 
157
      <?dbhtml list-presentation="table"?>
475 gleu 158
 
591 gleu 159
      <varlistentry id="addr2line">
160
        <term><command>addr2line</command></term>
161
        <listitem>
162
          <para>Traduit les adresses de programme en noms de fichier et numéros de
163
          ligne&nbsp;; suivant une adresse et le nom d'un exécutable, il utilise les
164
          informations de débogage disponibles dans l'exécutable pour déterminer le
165
          fichier source et le numéro de ligne associé à cette adresse</para>
166
          <indexterm zone="ch-system-binutils addr2line">
167
            <primary sortas="b-addr2line">addr2line</primary>
168
          </indexterm>
169
        </listitem>
170
      </varlistentry>
475 gleu 171
 
591 gleu 172
      <varlistentry id="ar">
173
        <term><command>ar</command></term>
174
        <listitem>
175
          <para>Crée, modifie et extrait à partir d'archives</para>
176
          <indexterm zone="ch-system-binutils ar">
177
            <primary sortas="b-ar">ar</primary>
178
          </indexterm>
179
        </listitem>
180
      </varlistentry>
475 gleu 181
 
591 gleu 182
      <varlistentry id="as">
183
        <term><command>as</command></term>
184
        <listitem>
185
          <para>Un assembleur qui assemble la sortie de <command>gcc</command>
186
          en un fichier objet</para>
187
          <indexterm zone="ch-system-binutils as">
188
            <primary sortas="b-as">as</primary>
189
          </indexterm>
190
        </listitem>
191
      </varlistentry>
475 gleu 192
 
591 gleu 193
      <varlistentry id="c-filt">
194
        <term><command>c++filt</command></term>
195
        <listitem>
641 texou 196
          <para>Utilisé par l'éditeur de liens pour récupérer les symboles C++
197
          et Java, et pour empêcher les fonctions surchargées d'arrêter
198
          brutalement le programme</para>
591 gleu 199
          <indexterm zone="ch-system-binutils c-filt">
200
            <primary sortas="b-c++filt">c++filt</primary>
201
          </indexterm>
202
        </listitem>
203
      </varlistentry>
475 gleu 204
 
591 gleu 205
      <varlistentry id="gprof">
206
        <term><command>gprof</command></term>
207
        <listitem>
619 texou 208
          <para>Affiche les données de profilage d'appels dans un graphe</para>
591 gleu 209
          <indexterm zone="ch-system-binutils gprof">
210
            <primary sortas="b-gprof">gprof</primary>
211
          </indexterm>
212
        </listitem>
213
      </varlistentry>
475 gleu 214
 
591 gleu 215
      <varlistentry id="ld">
216
        <term><command>ld</command></term>
217
        <listitem>
218
          <para>Un éditeur de liens combinant un certain nombre d'objets et de fichiers
219
          archives en un seul fichier, en déplaçant leur données et en regroupant les
220
          références de symboles</para>
221
          <indexterm zone="ch-system-binutils ld">
222
            <primary sortas="b-ld">ld</primary>
223
          </indexterm>
224
        </listitem>
225
      </varlistentry>
475 gleu 226
 
591 gleu 227
      <varlistentry id="nm">
228
        <term><command>nm</command></term>
229
        <listitem>
230
          <para>Liste les symboles disponibles dans un fichier objet</para>
231
          <indexterm zone="ch-system-binutils nm">
232
            <primary sortas="b-nm">nm</primary>
233
          </indexterm>
234
        </listitem>
235
      </varlistentry>
475 gleu 236
 
591 gleu 237
      <varlistentry id="objcopy">
238
        <term><command>objcopy</command></term>
239
        <listitem>
240
          <para>Traduit un type de fichier objet en un autre</para>
241
          <indexterm zone="ch-system-binutils objcopy">
242
            <primary sortas="b-objcopy">objcopy</primary>
243
          </indexterm>
244
        </listitem>
245
      </varlistentry>
475 gleu 246
 
591 gleu 247
      <varlistentry id="objdump">
248
        <term><command>objdump</command></term>
249
        <listitem>
250
          <para>Affiche des informations sur le fichier objet donné, les options
251
          contrôlant les informations à afficher&nbsp;; l'information affichée est
252
          surtout utile aux programmeurs qui travaillent sur les outils de compilation
253
          </para>
254
          <indexterm zone="ch-system-binutils objdump">
255
            <primary sortas="b-objdump">objdump</primary>
256
          </indexterm>
257
        </listitem>
258
      </varlistentry>
475 gleu 259
 
591 gleu 260
      <varlistentry id="ranlib">
261
        <term><command>ranlib</command></term>
262
        <listitem>
619 texou 263
          <para>Génère un index du contenu d'une  archive et le stocke dans l'archive&nbsp;;
591 gleu 264
          l'index liste tous les symboles définis par les membres de l'archive qui sont
265
          des fichiers objet déplaçables</para>
266
          <indexterm zone="ch-system-binutils ranlib">
267
            <primary sortas="b-ranlib">ranlib</primary>
268
          </indexterm>
269
        </listitem>
270
      </varlistentry>
475 gleu 271
 
591 gleu 272
      <varlistentry id="readelf">
273
        <term><command>readelf</command></term>
274
        <listitem>
275
          <para>Affiche des informations sur les binaires du type ELF</para>
276
          <indexterm zone="ch-system-binutils readelf">
277
            <primary sortas="b-readelf">readelf</primary>
278
          </indexterm>
279
        </listitem>
280
      </varlistentry>
475 gleu 281
 
591 gleu 282
      <varlistentry id="size">
283
        <term><command>size</command></term>
284
        <listitem>
285
          <para>Liste les tailles des sections et la taille totale pour les fichiers
286
          objets donnés</para>
287
          <indexterm zone="ch-system-binutils size">
288
            <primary sortas="b-size">size</primary>
289
          </indexterm>
290
        </listitem>
291
      </varlistentry>
475 gleu 292
 
591 gleu 293
      <varlistentry id="strings">
294
        <term><command>strings</command></term>
295
        <listitem>
296
          <para>Affiche, pour chaque fichier donné, la séquence de caractères affichables
297
          qui sont d'au moins la taille spécifiée (par défaut, 4)&nbsp;; pour les fichiers
298
          objets, il affiche, par défaut, seulement les chaînes des sections
299
          d'initialisation et de chargement alors que pour les autres types de fichiers,
300
          il parcourt le fichier entier</para>
301
          <indexterm zone="ch-system-binutils strings">
302
            <primary sortas="b-strings">strings</primary>
303
          </indexterm>
304
        </listitem>
305
      </varlistentry>
475 gleu 306
 
591 gleu 307
      <varlistentry id="strip">
308
        <term><command>strip</command></term>
309
        <listitem>
310
          <para>Supprime les symboles des fichiers objets</para>
311
          <indexterm zone="ch-system-binutils strip">
312
            <primary sortas="b-strip">strip</primary>
313
          </indexterm>
314
        </listitem>
315
      </varlistentry>
475 gleu 316
 
591 gleu 317
      <varlistentry id="libiberty">
318
        <term><filename class="libraryfile">libiberty</filename></term>
319
        <listitem>
320
          <para>Contient des routines utilisées par différents programmes GNU comme
321
          <command>getopt</command>, <command>obstack</command>,
322
          <command>strerror</command>, <command>strtol</command>, et
323
          <command>strtoul</command></para>
324
          <indexterm zone="ch-system-binutils libiberty">
325
            <primary sortas="c-libiberty">libiberty</primary>
326
          </indexterm>
327
        </listitem>
328
      </varlistentry>
475 gleu 329
 
591 gleu 330
      <varlistentry id="libbfd">
331
        <term><filename class="libraryfile">libbfd</filename></term>
332
        <listitem>
333
          <para>Bibliothèque des descripteurs de fichiers binaires
334
          (<foreignphrase>Binary File Descriptor</foreignphrase>)</para>
335
          <indexterm zone="ch-system-binutils libbfd">
336
            <primary sortas="c-libbfd">libbfd</primary>
337
          </indexterm>
338
        </listitem>
339
      </varlistentry>
340
 
341
      <varlistentry id="libopcodes">
342
        <term><filename class="libraryfile">libopcodes</filename></term>
343
        <listitem>
344
          <para>Une bibliothèque de gestion des opcodes&mdash;la <quote>version
345
          lisible</quote> des instructions du processeur&nbsp;; elle est utilisée pour
346
          construire des outils comme
347
          <command>objdump</command>.</para>
348
          <indexterm zone="ch-system-binutils libopcodes">
349
            <primary sortas="c-libopcodes">libopcodes</primary>
350
          </indexterm>
351
        </listitem>
352
      </varlistentry>
353
 
354
    </variablelist>
355
 
356
  </sect2>
357
 
475 gleu 358
</sect1>