aboutsummaryrefslogtreecommitdiffstats
path: root/chapter05
diff options
context:
space:
mode:
authorGerard Beekmans <gerard@linuxfromscratch.org>2002-12-31 15:45:00 +0000
committerGerard Beekmans <gerard@linuxfromscratch.org>2002-12-31 15:45:00 +0000
commit8b8f29ab88615f3e97fcb798b31588d7349dff61 (patch)
tree38dc980622b5499e9988ba6c3cfb3cef5ffbed2b /chapter05
parent2b91f12e34db0a337f5966b672b6dbe4238ef680 (diff)
Added missing </literallayout></para>
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2244 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter05')
-rw-r--r--chapter05/gcc-exp.xml35
-rw-r--r--chapter05/gcc-inst.xml10
2 files changed, 24 insertions, 21 deletions
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>