Subversion Repositories svn LFS-FR

Rev

Rev 1344 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>

<sect1 id="ch-tools-binutils-pass2" role="wrap">
  <?dbhtml filename="binutils-pass2.html"?>

  <sect1info condition="script">
    <productname>binutils</productname>
    <productnumber>&binutils-version;</productnumber>
    <address>&binutils-url;</address>
  </sect1info>

  <title>Binutils-&binutils-version; - Passe 2</title>

  <indexterm zone="ch-tools-binutils-pass2">
    <primary sortas="a-Binutils">Binutils</primary>
    <secondary>outils, passe 2</secondary>
  </indexterm>

  <sect2 role="package">
    <title/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../chapter06/binutils.xml"
   xpointer="xpointer(/sect1/sect2[1]/para[1])"/>

    <segmentedlist>
      <segtitle>&buildtime;</segtitle>
      <segtitle>&diskspace;</segtitle>

      <seglistitem>
        <seg>&binutils-ch5p2-sbu;</seg>
        <seg>&binutils-ch5p2-du;</seg>
      </seglistitem>
    </segmentedlist>

  </sect2>

  <sect2 role="installation">
    <title>Installation de Binutils</title>

    <para>Ajoutez le support des en-têtes d'exécutables PT PaX à Binutils&nbsp;:</para>

<screen><userinput remap="pre">patch -Np1 -i ../&binutils-pt_pax-patch;</userinput></screen>

    <para>Créez de nouveau un répertoire de construction
    séparé&nbsp;:</para>

<screen><userinput remap="pre">mkdir -v ../binutils-build
cd ../binutils-build</userinput></screen>

    <para>Préparez la compilation de Binutils&nbsp;:</para>

<screen><userinput remap="configure">CC="$LFS_TGT-gcc -B/tools/lib/" \
   AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib \
   ../binutils-&binutils-version;/configure --prefix=/tools \
   --disable-nls --disable-werror --with-lib-path=/tools/lib</userinput></screen>

    <variablelist>
      <title>Voici la signification des nouvelles options de configure&nbsp;:</title>

      <varlistentry>
        <term><parameter>CC="$LFS_TGT-gcc -B/tools/lib/" AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib</parameter></term>
        <listitem>
          <para>Étant vraiment une construction neuve de Binutils,
          l'initialisation de ces variables s'assure que le système de
          construction utilise le compilateur croisé et les outils
          associés au lieu de ceux du système hôte.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><parameter>--with-lib-path=/tools/lib</parameter></term>
        <listitem>
          <para>Ceci indique au script configure de spécifier le chemin de
          recherche des bibliothèques lors de la compilation de Binutils, aboutissant au
          passage de
          <filename class="directory">/tools/lib</filename> à l'éditeur de
          liens. Ceci empêche l'éditeur de liens de chercher dans tous les répertoires de
          bibliothèques de l'hôte.</para>
        </listitem>
      </varlistentry>

    </variablelist>

    <para>Compilez le paquet&nbsp;:</para>

<screen><userinput remap="make">make</userinput></screen>

    <para>Installez le paquet&nbsp;:</para>

<screen><userinput remap="install">make install</userinput></screen>

    <para>Maintenant, préparez l'éditeur de liens pour la phase de
    <quote>Ré-ajustement</quote> du prochain chapitre&nbsp;:</para>

<screen><userinput remap="adjust">make -C ld clean
make -C ld LIB_PATH=/usr/lib:/lib
cp -v ld/ld-new /tools/bin</userinput></screen>

    <variablelist>
      <title>Voici la signification des paramètres de make&nbsp;:</title>

        <varlistentry>
          <term><parameter>-C ld clean</parameter></term>
          <listitem>
            <para>Ceci dit au programme make de supprimer tous les fichiers
            construits dans le sous-répertoire
            <filename class="directory">ld</filename>.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>-C ld LIB_PATH=/usr/lib:/lib</parameter></term>
          <listitem>
            <para>Cette option reconstruit tout dans le sous-répertoire
            <filename class="directory">ld</filename>. La spécification
            de la variable de Makefile <envar>LIB_PATH</envar> sur la ligne de
            commande nous permet d'écraser la valeur par défaut du tools
            temporaire et de pointer vers le bon chemin final. La valeur de cette
            variable indique le chemin de recherche de la bibliothèque par
            défaut de l'éditeur de liens. Cette préparation sert pour le chapitre
            suivant.</para>
          </listitem>
        </varlistentry>
      </variablelist>            
  </sect2>

  <sect2 role="content">
    <title/>

    <para>Les détails sur ce paquet sont disponibles dans
    <xref linkend="contents-binutils" role="."/></para>

  </sect2>

</sect1>