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 :</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é :</para>
<screen><userinput remap="pre">mkdir -v ../binutils-build
cd ../binutils-build</userinput></screen>
<para>Préparez la compilation de Binutils :</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 :</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 :</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Installez le paquet :</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 :</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 :</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>