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
