diff options
author | Jeremy Huntwork <jhuntwork@linuxfromscratch.org> | 2006-01-30 06:50:11 +0000 |
---|---|---|
committer | Jeremy Huntwork <jhuntwork@linuxfromscratch.org> | 2006-01-30 06:50:11 +0000 |
commit | 62d3362b8de4cceb37f1e6ed65323d5561723fef (patch) | |
tree | c54b462c28f2e0776a14133d4e9250578661c3e0 /chapter05 | |
parent | b87ea8726bbd62d4fde5a39a596d26f959d0ef59 (diff) |
Adjust binutils-pass1 so we don't need to hang on to its source directories.
Also use 'gcc -dumpmachine' instead of the MACHTYPE var.
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7316 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter05')
-rw-r--r-- | chapter05/adjusting.xml | 25 | ||||
-rw-r--r-- | chapter05/binutils-pass1.xml | 15 |
2 files changed, 15 insertions, 25 deletions
diff --git a/chapter05/adjusting.xml b/chapter05/adjusting.xml index b48a17128..f512b6cf4 100644 --- a/chapter05/adjusting.xml +++ b/chapter05/adjusting.xml @@ -15,27 +15,20 @@ these libraries. In order to accomplish this, the linker and the compiler's specs file need to be adjusted.</para> - <para>The linker, adjusted at the end of the first pass of Binutils, - is installed by running the following command from within the - <filename class="directory">binutils-build</filename> directory:</para> + <para>The linker, adjusted at the end of the first pass of Binutils, needs + to be renamed so that it can be properly found and used. First, backup the + original linker, then replace it with the adjusted linker. We'll also + create a link to its counterpart in <filename class="directory"> + /tools/$(gcc -dumpmachine)/bin</filename></para> -<screen><userinput>make -C ld install</userinput></screen> +<screen><userinput>mv -v /tools/bin/{ld,ld-old} +mv -v /tools/$(gcc -dumpmachine)/bin/{ld,ld-old} +mv -v /tools/bin/{ld-new,ld} +ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld</userinput></screen> <para>From this point onwards, everything will link only against the libraries in <filename class="directory">/tools/lib</filename>.</para> - <note> - <para>If the earlier warning to retain the Binutils source and - build directories from the first pass was missed, ignore the above - command. This results in a small chance that the subsequent testing - programs will link against libraries on the host. This is not ideal, - but it is not a major problem. The situation is corrected when the - second pass of Binutils is installed later.</para> - </note> - - <para>Now that the adjusted linker is installed, the Binutils build and source - directories should be removed.</para> - <para>The next task is to point GCC to the new dynamic linker. This is done by dumping GCC's <quote>specs</quote> file to a location where GCC will look for it by default. A simple <command>sed</command> substitution then alters the diff --git a/chapter05/binutils-pass1.xml b/chapter05/binutils-pass1.xml index 4435cfca0..a395c3dfe 100644 --- a/chapter05/binutils-pass1.xml +++ b/chapter05/binutils-pass1.xml @@ -105,7 +105,8 @@ cd ../binutils-build</userinput></screen> later on:</para> <screen><userinput>make -C ld clean -make -C ld LIB_PATH=/tools/lib</userinput></screen> +make -C ld LDFLAGS="-s" LIB_PATH=/tools/lib +cp -v ld/ld-new /tools/bin</userinput></screen> <variablelist> <title>The meaning of the make parameters:</title> @@ -120,10 +121,12 @@ make -C ld LIB_PATH=/tools/lib</userinput></screen> </varlistentry> <varlistentry> - <term><parameter>-C ld LIB_PATH=/tools/lib</parameter></term> + <term><parameter>-C ld LDFLAGS="-s" LIB_PATH=/tools/lib</parameter></term> <listitem> <para>This option rebuilds everything in the <filename - class="directory">ld</filename> subdirectory. Specifying the + class="directory">ld</filename> subdirectory. The + <envar>LDFLAGS</envar> variable will build a static version of + <command>ld</command>. Specifying the <envar>LIB_PATH</envar> Makefile variable on the command line allows us to override the default value and point it to the temporary tools location. The value of this variable specifies @@ -134,12 +137,6 @@ make -C ld LIB_PATH=/tools/lib</userinput></screen> </variablelist> - <warning> - <para><emphasis>Do not</emphasis> remove the Binutils build and source - directories yet. These will be needed again in their current state later - in this chapter.</para> - </warning> - </sect2> <sect2 role="content"> |