aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--appendixa/gcc-dep.xml1
-rw-r--r--appendixa/gcc-down.xml5
-rw-r--r--chapter01/changelog.xml10
-rw-r--r--chapter04/gcc-patch.xml2
-rw-r--r--chapter04/packages.xml1
-rw-r--r--chapter05/gcc-exp.xml35
-rw-r--r--chapter05/gcc-inst.xml10
-rw-r--r--index.xml4
8 files changed, 37 insertions, 31 deletions
diff --git a/appendixa/gcc-dep.xml b/appendixa/gcc-dep.xml
index 664377cbb..6a25150f2 100644
--- a/appendixa/gcc-dep.xml
+++ b/appendixa/gcc-dep.xml
@@ -11,7 +11,6 @@ Find: find
Gcc: cc, cc1, collect2, cpp0, gcc
Grep: egrep, grep
Make: make
-Patch: patch
Sed: sed
Sh-utils: basename, dirname, echo, expr, hostname, sleep, true, uname
Tar: tar
diff --git a/appendixa/gcc-down.xml b/appendixa/gcc-down.xml
index dcef4628b..6867ef504 100644
--- a/appendixa/gcc-down.xml
+++ b/appendixa/gcc-down.xml
@@ -2,8 +2,5 @@
<title>Official Download Location</title>
<para><literallayout>GCC (&gcc-version;):
-<ulink url="ftp://ftp.gnu.org/pub/gnu/gcc/"/>
-
-GCC nofixincludes Patch (&gcc-version;):
-<ulink url="&http;"/></literallayout></para>
+<ulink url="ftp://ftp.gnu.org/pub/gnu/gcc/"/></literallayout></para>
</sect2>
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index e54586e1b..1cd08e032 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -40,11 +40,21 @@
<listitem><para>Removed:
<itemizedlist>
+<listitem><para>gcc-3.2.1-nofixincludes-2.patch</para></listitem>
<listitem><para>kbd-1.06-3.patch</para></listitem>
<listitem><para>ncurses-5.2-2.patch</para></listitem>
</itemizedlist>
</para></listitem>
+<listitem><para>December 31st, 2002 [gerard]: Chapter 05 - GCC: Removed
+nofixincludes patch and use the built-in
+<emphasis>install-no-fixedincludes</emphasis> make
+target.</para></listitem>
+
+<listitem><para>December 31st, 2002 [gerard]: Chapter 05 - GCC: Removed
+<emphasis>HAVE_GAS_HIDDEN</emphasis>, added <emphasis>--with-ld and
+--with-as</emphasis> configure switches.</para></listitem>
+
<listitem><para>December 29th, 2002 [timothy]: Updated to
binutils-2.13.2, procps-3.1.5.</para></listitem>
diff --git a/chapter04/gcc-patch.xml b/chapter04/gcc-patch.xml
deleted file mode 100644
index e45514dc1..000000000
--- a/chapter04/gcc-patch.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-GCC nofixincludes Patch (&gcc-version;) - 1 KB:
-<ulink url="&http;/gcc-3.2.1-nofixincludes-2.patch"/>
diff --git a/chapter04/packages.xml b/chapter04/packages.xml
index fff592e75..ae148a5bc 100644
--- a/chapter04/packages.xml
+++ b/chapter04/packages.xml
@@ -25,7 +25,6 @@
&c4-gawk;
&c4-gawk-patch;
&c4-gcc;
-&c4-gcc-patch;
&c4-gettext;
&c4-glibc;
&c4-glibc-patch;
diff --git a/chapter05/gcc-exp.xml b/chapter05/gcc-exp.xml
index 736eac8b5..abbf45cae 100644
--- a/chapter05/gcc-exp.xml
+++ b/chapter05/gcc-exp.xml
@@ -1,32 +1,35 @@
<sect2>
<title>Command explanations</title>
-<para><userinput>patch -Np1 -i ../gcc-3.2-nofixincludes-2.patch:</userinput>
-This prevents the fixincludes script from running. This is needed because
-under normal circumstances the GCC installation will run the fixincludes
-scripts which scans your system for header files that need to be fixed. Say
-it finds Glibc header files. It will fix them and will end up in
-$LFS/static/lib/gcc-lib/i686-pc-linux-gnu/3.2. Later on in chapter 6 you
-will install Glibc which will install header files in /usr/include. Next
-you will install other programs which will use Glibc headers. GCC will look
-in /static/lib/gcc-lib before looking in /usr/include, whichhas the result
-of Glibc header files from your host distribution being found and used which
-are probably incompatible with the Glibc version actually in use on the LFS
-system.</para>
-
<para><userinput>--prefix=/static:</userinput> This is NOT a typo. GCC hard
codes some paths while compiling and so we need to pass /static as the
prefix during ./configure. We pass the real install prefix during the
make install command later.</para>
-<para><userinput>echo "#define HAVE_GAS_HIDDEN 1":</userinput>
-This defines the .hidden assembler directive so that we don't build
-a faulty Glibc later on.</para>
+<para><userinput>--with-as and --with-ld:</userinput> GCC can be
+miscompiled if your host distribution's Binutils package is quite old. We
+need a good working static GCC until we reinstall GCC later in chapter 6.
+So by using <filename>as</filename> and <filename>ld</filename> from the
+Binutils package we just compiled we ensure that GCC will work
+correctly.</para>
<para><userinput>make BOOT_LDFLAGS="-static":</userinput>
This is the equivalent to make LDFLAGS="-static" as we use with other
packages to compile them statically.</para>
+<para><userinput>make install-no-fixedincludes:</userinput>
+This prevents the fixed header files from being installed. This is needed
+because under normal circumstances the GCC installation will run the
+fixincludes scripts which scans your system for header files that need to be
+fixed. Say it finds Glibc header files. It will fix them and will end up in
+$LFS/static/lib/gcc-lib/i686-pc-linux-gnu/ Later on in chapter 6 you
+will install Glibc which will install header files in /usr/include. Next
+you will install other programs which will use Glibc headers. GCC will look
+in /static/lib/gcc-lib before looking in /usr/include, which has the result
+of Glibc header files from your host distribution being found and used which
+are probably incompatible with the Glibc version actually in use on the LFS
+system.</para>
+
<para><userinput>ln -s gcc $LFS/static/bin/cc:</userinput> This
creates the $LFS/static/bin/gcc symlink, which some packages need.</para>
diff --git a/chapter05/gcc-inst.xml b/chapter05/gcc-inst.xml
index add033ae3..99104c393 100644
--- a/chapter05/gcc-inst.xml
+++ b/chapter05/gcc-inst.xml
@@ -16,14 +16,14 @@ been warned.</para>
<para>Install GCC by running the following commands:</para>
-<para><screen><userinput>patch -Np1 -i ../gcc-&gcc-patch-version;-nofixincludes-2.patch &amp;&amp;
-mkdir ../gcc-build &amp;&amp;
+<para><screen><userinput>mkdir ../gcc-build &amp;&amp;
cd ../gcc-build &amp;&amp;
../gcc-&gcc-version;/configure --prefix=/static \
-&nbsp;&nbsp;&nbsp;--disable-nls --disable-shared &amp;&amp;
-echo "#define HAVE_GAS_HIDDEN 1" &gt;&gt; gcc/auto-host.h &amp;&amp;
+&nbsp;&nbsp;&nbsp;--disable-nls --disable-shared \
+&nbsp;&nbsp;&nbsp;--with-as=$LFS/static/bin/as \
+&nbsp;&nbsp;&nbsp;--with-ld=$LFS/static/bin/ld &amp;&amp;
make BOOT_LDFLAGS="-static" bootstrap &amp;&amp;
-make prefix=$LFS/static install &amp;&amp;
+make prefix=$LFS/static install-no-fixedincludes &amp;&amp;
ln -s gcc $LFS/static/bin/cc</userinput></screen></para>
</sect2>
diff --git a/index.xml b/index.xml
index 44e6ab5f3..b9efea5f5 100644
--- a/index.xml
+++ b/index.xml
@@ -4,8 +4,8 @@
<!ENTITY book SYSTEM "book/book.xml">
-<!ENTITY version "20021229">
-<!ENTITY releasedate "December 29th, 2002">
+<!ENTITY version "20021231">
+<!ENTITY releasedate "December 31st, 2002">
<!ENTITY ftp-root "ftp://ftp.linuxfromscratch.org">
<!ENTITY http-root "http://ftp.linuxfromscratch.org">