diff options
-rw-r--r-- | appendixa/gcc-dep.xml | 1 | ||||
-rw-r--r-- | appendixa/gcc-down.xml | 5 | ||||
-rw-r--r-- | chapter01/changelog.xml | 10 | ||||
-rw-r--r-- | chapter04/gcc-patch.xml | 2 | ||||
-rw-r--r-- | chapter04/packages.xml | 1 | ||||
-rw-r--r-- | chapter05/gcc-exp.xml | 35 | ||||
-rw-r--r-- | chapter05/gcc-inst.xml | 10 | ||||
-rw-r--r-- | index.xml | 4 |
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 && -mkdir ../gcc-build && +<para><screen><userinput>mkdir ../gcc-build && cd ../gcc-build && ../gcc-&gcc-version;/configure --prefix=/static \ - --disable-nls --disable-shared && -echo "#define HAVE_GAS_HIDDEN 1" >> gcc/auto-host.h && + --disable-nls --disable-shared \ + --with-as=$LFS/static/bin/as \ + --with-ld=$LFS/static/bin/ld && make BOOT_LDFLAGS="-static" bootstrap && -make prefix=$LFS/static install && +make prefix=$LFS/static install-no-fixedincludes && ln -s gcc $LFS/static/bin/cc</userinput></screen></para> </sect2> @@ -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"> |