Author: matthew
Date: 2005-03-13 08:49:41 -0700 (Sun, 13 Mar 2005)
New Revision: 4741

Modified:
   trunk/BOOK/chapter01/changelog.xml
   trunk/BOOK/chapter05/binutils-pass1.xml
   trunk/BOOK/chapter05/gcc-pass1.xml
   trunk/BOOK/chapter05/toolchaintechnotes.xml
Log:
* Fix bug 1061 by dynamically linking the pass1 toolchain


Modified: trunk/BOOK/chapter01/changelog.xml
===================================================================
--- trunk/BOOK/chapter01/changelog.xml  2005-03-13 05:30:59 UTC (rev 4740)
+++ trunk/BOOK/chapter01/changelog.xml  2005-03-13 15:49:41 UTC (rev 4741)
@@ -82,6 +82,9 @@
 </itemizedlist>
 </listitem>
 
+<listitem><para>March 13, 2005 [matt]: Dynamically link the pass1 toolchain to
+workaround bug 1061 and remove all related explanatory text</para></listitem>
+
 <listitem><para>March 12, 2005 [matt]: Upgraded to udev-054</para></listitem>
 
 <listitem><para>March 12, 2005 [matt]: Upgraded to findutils-4.2.19</para>

Modified: trunk/BOOK/chapter05/binutils-pass1.xml
===================================================================
--- trunk/BOOK/chapter05/binutils-pass1.xml     2005-03-13 05:30:59 UTC (rev 
4740)
+++ trunk/BOOK/chapter05/binutils-pass1.xml     2005-03-13 15:49:41 UTC (rev 
4741)
@@ -54,8 +54,7 @@
 
 <para>Now prepare Binutils for compilation:</para>
 
-<screen><userinput>../binutils-&binutils-version;/configure --prefix=/tools \
-    --disable-nls</userinput></screen>
+<screen><userinput>../binutils-&binutils-version;/configure --prefix=/tools 
--disable-nls</userinput></screen>
 
 <para>The meaning of the configure options:</para>
 
@@ -68,37 +67,15 @@
 
 <varlistentry>
 <term><parameter>--disable-nls</parameter></term>
-<listitem><para>This disables internationalization. This is not needed
-for the static programs, and NLS can cause problems when linking
-statically.</para></listitem>
+<listitem><para>This disables internationalization. This is not needed for the
+temporary tools.</para></listitem>
 </varlistentry>
 </variablelist>
 
 <para>Continue with compiling the package:</para>
 
-<screen><userinput>make configure-host
-make LDFLAGS="-all-static"</userinput></screen>
+<screen><userinput>make</userinput></screen>
 
-<para>The meaning of the make parameters:</para>
-
-<variablelist>
-<varlistentry>
-<term><parameter>configure-host</parameter></term>
-<listitem><para>This forces all subdirectories to be configured
-immediately. A statically-linked build will fail without it. Use this
-option to work around the problem.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>LDFLAGS="-all-static"</parameter></term>
-<listitem><para>This tells the linker that all Binutils programs
-should be linked statically. However, strictly speaking,
-<parameter>"-all-static"</parameter> is passed to the
-<command>libtool</command> program, which then passes
-<parameter>"-static"</parameter> to the linker.</para></listitem>
-</varlistentry>
-</variablelist>
-
 <para>Compilation is now complete. Ordinarily we would now run the
 test suite, but at this early stage the test suite framework (Tcl,
 Expect, and DejaGNU) is not yet in place. The benefits of running the
@@ -113,7 +90,7 @@
 later on:</para>
 
 <screen><userinput>make -C ld clean
-make -C ld LDFLAGS="-all-static" LIB_PATH=/tools/lib</userinput></screen>
+make -C ld LIB_PATH=/tools/lib</userinput></screen>
 
 <para>The meaning of the make parameters:</para>
 
@@ -126,8 +103,7 @@
 </varlistentry>
 
 <varlistentry>
-<term><parameter>-C ld LDFLAGS="-all-static"
-LIB_PATH=/tools/lib</parameter></term>
+<term><parameter>-C ld LIB_PATH=/tools/lib</parameter></term>
 <listitem><para>This option rebuilds everything in the
 <filename class="directory">ld</filename> subdirectory. Specifying 
 the <envar>LIB_PATH</envar> Makefile variable on the command 

Modified: trunk/BOOK/chapter05/gcc-pass1.xml
===================================================================
--- trunk/BOOK/chapter05/gcc-pass1.xml  2005-03-13 05:30:59 UTC (rev 4740)
+++ trunk/BOOK/chapter05/gcc-pass1.xml  2005-03-13 15:49:41 UTC (rev 4741)
@@ -63,16 +63,12 @@
 
 <varlistentry>
 <term><parameter>--enable-shared</parameter></term>
-<listitem><para>This switch may seem counter-intuitive at first.
-However, this switch allows the building of
+<listitem><para>This switch allows the building of
 <filename class="libraryfile">libgcc_s.so.1</filename> and
-<filename class="libraryfile">libgcc_eh.a</filename>, and having
-<filename class="libraryfile">libgcc_eh.a</filename> available ensures that 
the configure
-script for Glibc (the next package we compile) produces the proper
-results. Note that the GCC binaries will still be linked statically
-because this is controlled by the <parameter>-static</parameter> value of
-the <envar>BOOT_LDFLAGS</envar> variable in the next
-step.</para></listitem>
+<filename class="libraryfile">libgcc_eh.a</filename>.  Having
+<filename class="libraryfile">libgcc_eh.a</filename> available ensures that the
+configure script for Glibc (the next package we compile) produces the proper
+results.</para></listitem>
 </varlistentry>
 
 <varlistentry>
@@ -86,17 +82,12 @@
 
 <para>Continue with compiling the package:</para>
 
-<screen><userinput>make BOOT_LDFLAGS="-static" bootstrap</userinput></screen>
+<screen><userinput>make bootstrap</userinput></screen>
 
 <para>The meaning of the make parameters:</para>
 
 <variablelist>
 <varlistentry>
-<term><parameter>BOOT_LDFLAGS="-static"</parameter></term>
-<listitem><para>This tells GCC to link its programs 
statically.</para></listitem>
-</varlistentry>
-
-<varlistentry>
 <term><parameter>bootstrap</parameter></term>
 <listitem><para>This target does not just compile GCC, but compiles it
 several times. It uses the programs compiled in a first round to

Modified: trunk/BOOK/chapter05/toolchaintechnotes.xml
===================================================================
--- trunk/BOOK/chapter05/toolchaintechnotes.xml 2005-03-13 05:30:59 UTC (rev 
4740)
+++ trunk/BOOK/chapter05/toolchaintechnotes.xml 2005-03-13 15:49:41 UTC (rev 
4741)
@@ -175,7 +175,10 @@
 toolchain defaults, then proceed in building the rest of the target
 LFS system.</para>
 
-<sect2>
+<!-- Removed as part of the fix for bug 1061 - we no longer build pass1
+     packages statically, therefore this explanation isn't required -->
+
+<!--<sect2>
 <title>Notes on Static Linking</title>
 
 <para>Besides their specific task, most programs have to perform many
@@ -218,7 +221,7 @@
 worth noting that an overall successful LFS build can still be
 achieved when the first two packages are built dynamically.</para>
 
-</sect2>
+</sect2>-->
 
 </sect1>
 

-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-book
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page

Reply via email to