|
@@ -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>
|
|
|
|