uniformized text of 'locking' and 'adjusting'

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2677 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Alex Gronenwoud 2003-08-25 21:41:50 +00:00
parent b0dbf73848
commit 1f304328b4
2 changed files with 26 additions and 32 deletions

View File

@ -2,38 +2,33 @@
<title>"Locking in" Glibc</title>
<?dbhtml filename="lockingglibc.html" dir="chapter05"?>
<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
<para>Now that the temporary C libraries have been installed, we want all
the tools compiled in the rest of this chapter to be linked against these
libraries. To accomplish this, we need to adjust the linker's scripts and the
compiler's specs file.</para>
<sect2>
<title>Installation of the linker scripts</title>
<para>Run the following command from within the <filename
class="directory">binutils-build</filename> directory:</para>
<para>First install the adjusted linker scripts by running the following from
within the <filename class="directory">binutils-build</filename>
directory:</para>
<para><screen><userinput>make -C ld install-data-local</userinput></screen></para>
<para>This installs the adjusted linker scripts. Remember they were adjusted
a little while back, at the end of the first pass of Binutils? The linker
scripts now contain no mention of <filename>/lib</filename>,
<para>These scripts were adjusted a little while back, at the end of the first
pass of Binutils, and contain no mention of <filename>/lib</filename>,
<filename>/usr/lib</filename> or <filename>/usr/local/lib</filename>.
From this point onwards everything will link <emphasis>only</emphasis>
against the libraries in <filename>/stage1/lib</filename>.</para>
<para>You can now remove Binutils' build and source directories.</para>
</sect2>
<sect2>
<title>Amending GCC's specs file</title>
<para>The final thing to do is to amend our GCC specs file so that it points
<para>The other thing to do is to amend our GCC specs file so that it points
to the new dynamic linker. A simple sed will accomplish this:</para>
<para><screen><userinput>SPECFILE=/stage1/lib/gcc-lib/*/*/specs
sed -e 's@/lib/ld.so.1@/stage1/lib/ld.so.1@g' \
&nbsp;&nbsp;&nbsp;&nbsp;-e 's@/lib/ld-linux.so.2@/stage1/lib/ld-linux.so.2@g' \
&nbsp;&nbsp;&nbsp;&nbsp;$SPECFILE > XX
mv XX $SPECFILE
&nbsp;&nbsp;&nbsp;&nbsp;$SPECFILE > tempspecfile
mv tempspecfile $SPECFILE
unset SPECFILE</userinput></screen></para>
<para>We recommend that you cut-and-paste the above rather than try and type
@ -43,7 +38,5 @@ it all in. Or you can edit the specs file by hand if you want to: just replace
<para>This completes the installation of the self-contained toolchain, which
can now be used to build the rest of the temporary tools.</para>
</sect2>
</sect1>

View File

@ -1,20 +1,20 @@
<sect1 id="ch06-adjustingtoolchain">
<title>Adjusting toolchain</title>
<title>Re-adjusting the toolchain</title>
<?dbhtml filename="adjustingtoolchain.html" dir="chapter06"?>
<para>Now that we have compiled all the necessary tools, it is time to
re-adjust our toolchain. We will set it up so that it will link any newly
compiled program against the new Glibc. Basically, this is the reverse of
what we did in the "Locking in" stage in the beginning of chapter 5.</para>
<para>Now that the new C libraries have been installed, it's time to re-adjust
our toolchain. We'll adjust it so that it will link any newly compiled program
against the new C libraries. Basically, this is the reverse of what we did
in the "Locking in" stage in the beginning of the previous chapter.</para>
<para>The first thing to do is to adjust the linker scripts. For this we
retained the <filename class="directory">binutils-build</filename>
directory from the second pass over Binutils. Run the following:</para>
retained the source and build directories from the second pass over Binutils.
Install the adjusted linker scripts by running the following from within the
<filename class="directory">binutils-build</filename> directory:</para>
<para><screen><userinput>cd binutils-build
make -C ld INSTALL=/stage1/bin/install install-data-local</userinput></screen></para>
<para><screen><userinput>make -C ld INSTALL=/stage1/bin/install install-data-local</userinput></screen></para>
<para>This installs the adjusted linker scripts. The linker scripts contain
<para>The linker scripts now contain
no mention of <filename class="directory">/stage1/lib</filename> anymore.
From now on every compiled program will link <emphasis>only</emphasis>
against the libraries in <filename>/usr/lib</filename> and
@ -32,12 +32,13 @@ this:</para>
<para><screen><userinput>SPECFILE=/stage1/lib/gcc-lib/*/*/specs
sed -e 's@/stage1/lib/ld.so.1@/lib/ld.so.1@g' \
&nbsp;&nbsp;&nbsp;&nbsp;-e 's@/stage1/lib/ld-linux.so.2@/lib/ld-linux.so.2@g' $SPECFILE > XX
mv XX $SPECFILE
&nbsp;&nbsp;&nbsp;&nbsp;-e 's@/stage1/lib/ld-linux.so.2@/lib/ld-linux.so.2@g'
&nbsp;&nbsp;&nbsp;&nbsp;$SPECFILE > newspecfile
mv newspecfile $SPECFILE
unset SPECFILE</userinput></screen></para>
<para>Again, cutting and pasting the above is recommended. And just like
before, it is a good idea to check the linker scripts and the specs file o
before, it is a good idea to check the linker scripts and the specs file to
ensure the intended changes were actually made.</para>
<para>Note that the linker scripts will still contain a reference to