Browse Source

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

Jeremy Huntwork 19 years ago
parent
commit
62d3362b8d
5 changed files with 32 additions and 32 deletions
  1. 12 2
      chapter01/changelog.xml
  2. 9 16
      chapter05/adjusting.xml
  3. 6 9
      chapter05/binutils-pass1.xml
  4. 3 3
      chapter06/readjusting.xml
  5. 2 2
      general.ent

+ 12 - 2
chapter01/changelog.xml

@@ -36,15 +36,25 @@
     </listitem>
     </listitem>
 -->
 -->
 
 
+    <listitem>
+      <para>January 30, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jhuntwork] - Adjust binutils-pass1 so we don't need to hang on to its
+	  source directories. Also use 'gcc -dumpmachine' instead of the MACHTYPE var.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
     <listitem>
     <listitem>
       <para>January 29, 2006</para>
       <para>January 29, 2006</para>
       <itemizedlist>
       <itemizedlist>
         <listitem>
         <listitem>
-	  <para>[jhuntwork] - Restore the use of *startfile_prefix_spec.
+	  <para>[jhuntwork] - Restore the use of *startfile_prefix_spec.</para>
 	</listitem>
 	</listitem>
         <listitem>
         <listitem>
 	  <para>[jhuntwork] - Remove a spurious -i from the perl command when
 	  <para>[jhuntwork] - Remove a spurious -i from the perl command when
-	  readjusting the toolchain. Thanks Dan Nicholson.
+	  readjusting the toolchain. Thanks Dan Nicholson.</para>
 	</listitem>
 	</listitem>
       </itemizedlist>
       </itemizedlist>
     </listitem>
     </listitem>

+ 9 - 16
chapter05/adjusting.xml

@@ -15,27 +15,20 @@
   these libraries. In order to accomplish this, the linker and the
   these libraries. In order to accomplish this, the linker and the
   compiler's specs file need to be adjusted.</para>
   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
   <para>From this point onwards, everything will link only against the
   libraries in <filename class="directory">/tools/lib</filename>.</para>
   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
   <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
   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
   by default. A simple <command>sed</command> substitution then alters the

+ 6 - 9
chapter05/binutils-pass1.xml

@@ -105,7 +105,8 @@ cd ../binutils-build</userinput></screen>
     later on:</para>
     later on:</para>
 
 
 <screen><userinput>make -C ld clean
 <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>
     <variablelist>
       <title>The meaning of the make parameters:</title>
       <title>The meaning of the make parameters:</title>
@@ -120,10 +121,12 @@ make -C ld LIB_PATH=/tools/lib</userinput></screen>
       </varlistentry>
       </varlistentry>
 
 
       <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>
         <listitem>
           <para>This option rebuilds everything in the <filename
           <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
           <envar>LIB_PATH</envar> Makefile variable on the command line
           allows us to override the default value and point it to the
           allows us to override the default value and point it to the
           temporary tools location. The value of this variable specifies
           temporary tools location. The value of this variable specifies
@@ -134,12 +137,6 @@ make -C ld LIB_PATH=/tools/lib</userinput></screen>
 
 
     </variablelist>
     </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>
 
 
   <sect2 role="content">
   <sect2 role="content">

+ 3 - 3
chapter06/readjusting.xml

@@ -21,12 +21,12 @@ directories.</para>
 
 
 <para>First, backup the <filename class="directory">/tools</filename> linker, and
 <para>First, backup the <filename class="directory">/tools</filename> linker, and
 replace it with the adjusted linker we made in chapter 5. We'll also create a 
 replace it with the adjusted linker we made in chapter 5. We'll also create a 
-link to its counterpart in <filename class="directory">/tools/$MACHTYPE/bin</filename></para>
+link to its counterpart in <filename class="directory">/tools/$(gcc -dumpmachine)/bin</filename></para>
 
 
 <screen><userinput>mv -v /tools/bin/{ld,ld-old}
 <screen><userinput>mv -v /tools/bin/{ld,ld-old}
-mv -v /tools/$MACHTYPE/bin/{ld,ld-old}
+mv -v /tools/$(gcc -dumpmachine)/bin/{ld,ld-old}
 mv -v /tools/bin/{ld-new,ld}
 mv -v /tools/bin/{ld-new,ld}
-ln -sv /tools/bin/ld /tools/$MACHTYPE/bin/ld</userinput></screen>
+ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld</userinput></screen>
 
 
 <para>Next, amend the GCC specs file so that it points to the new
 <para>Next, amend the GCC specs file so that it points to the new
 dynamic linker, and so that GCC knows where to find its start files.
 dynamic linker, and so that GCC knows where to find its start files.

+ 2 - 2
general.ent

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!ENTITY version "SVN-20060129">
-<!ENTITY releasedate "January 29, 2006">
+<!ENTITY version "SVN-20060130">
+<!ENTITY releasedate "January 30, 2006">
 <!ENTITY milestone "6.2">
 <!ENTITY milestone "6.2">
 <!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->
 <!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->