diff options
author | Matthew Burgess <matthew@linuxfromscratch.org> | 2004-05-03 10:59:46 +0000 |
---|---|---|
committer | Matthew Burgess <matthew@linuxfromscratch.org> | 2004-05-03 10:59:46 +0000 |
commit | 673b0d84ba9591e07c0bdf0ee49d92eba10f502c (patch) | |
tree | 129e27a1450727b440da4378e0117a468eb9c25e /chapter05/gcc-pass2.xml | |
parent | 287ea55da70ceb1f0990554b7db921d525fef816 (diff) |
* Merged newxml into HEAD
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3435 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter05/gcc-pass2.xml')
-rw-r--r-- | chapter05/gcc-pass2.xml | 76 |
1 files changed, 41 insertions, 35 deletions
diff --git a/chapter05/gcc-pass2.xml b/chapter05/gcc-pass2.xml index da119311c..d89d82e82 100644 --- a/chapter05/gcc-pass2.xml +++ b/chapter05/gcc-pass2.xml @@ -1,14 +1,19 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> <sect1 id="ch-tools-gcc-pass2"> -<title>Installing GCC-&gcc-version; - Pass 2</title> -<?dbhtml filename="gcc-pass2.html" dir="chapter05"?> +<title>GCC-&gcc-version; - Pass 2</title> +<?dbhtml filename="gcc-pass2.html"?> -<screen>&buildtime; &gcc-time-tools-pass2; -&diskspace; &gcc-compsize-tools-pass2;</screen> +<indexterm zone="ch-tools-gcc-pass2"> +<primary sortas="a-GCC">GCC</primary> +<secondary>tools, pass 2</secondary></indexterm> -&aa-gcc-down; -&aa-gcc-dep; +<screen>&buildtime; 11.0 SBU +&diskspace; 274 MB</screen> -<sect2><title> </title><para> </para></sect2> <sect2> <title>Re-installation of GCC</title> @@ -37,24 +42,24 @@ working.</para> <para>This time we will build both the C and the C++ compilers, so you'll have to unpack both the core and the g++ tarballs (and testsuite too, if you want to run the tests). Unpacking them in your working directory, they will all unfold -into a single <filename>&gcc-dir;/</filename> subdirectory.</para> +into a single <filename>gcc-&gcc-version;/</filename> subdirectory.</para> <para>First correct a problem and make an essential adjustment:</para> -<screen><userinput>patch -Np1 -i ../&gcc-nofixincludes-patch; -patch -Np1 -i ../&gcc-specs-patch;</userinput></screen> - -<para>The first patch disables the GCC "fixincludes" script. We mentioned this -briefly earlier, but a slightly more in-depth explanation of the fixincludes -process is warranted here. Under normal circumstances, the GCC fixincludes -script scans your system for header files that need to be fixed. It might find -that some Glibc header files on your host system need to be fixed, fix them and -put them in the GCC private include directory. Then, later on in -<xref linkend="chapter-building-system"/>, after we've installed the newer Glibc, this -private include directory would be searched before the system include -directory, resulting in GCC finding the fixed headers from the host system, -which would most likely not match the Glibc version actually used for the LFS -system.</para> +<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-no_fixincludes-1.patch +patch -Np1 -i ../gcc-&gcc-version;-specs-1.patch</userinput></screen> + +<para>The first patch disables the GCC <quote>fixincludes</quote> script. We +mentioned this briefly earlier, but a slightly more in-depth explanation of +the fixincludes process is warranted here. Under normal circumstances, the GCC +fixincludes script scans your system for header files that need to be fixed. It +might find that some Glibc header files on your host system need to be fixed, +fix them and put them in the GCC private include directory. Then, later on in +<xref linkend="chapter-building-system"/>, after we've installed the newer +Glibc, this private include directory would be searched before the system +include directory, resulting in GCC finding the fixed headers from the host +system, which would most likely not match the Glibc version actually used for +the LFS system.</para> <para>The second patch changes GCC's default location of the dynamic linker (typically <filename>ld-linux.so.2</filename>). It also removes @@ -77,11 +82,11 @@ variables that override the default optimization flags.</para> <para>Now prepare GCC for compilation:</para> -<screen><userinput>../&gcc-dir;/configure --prefix=/tools \ - --with-local-prefix=/tools \ - --enable-clocale=gnu --enable-shared \ - --enable-threads=posix --enable-__cxa_atexit \ - --enable-languages=c,c++</userinput></screen> +<screen><userinput>../gcc-&gcc-version;/configure --prefix=/tools \ + --with-local-prefix=/tools \ + --enable-clocale=gnu --enable-shared \ + --enable-threads=posix --enable-__cxa_atexit \ + --enable-languages=c,c++</userinput></screen> <para>The meaning of the new configure options:</para> @@ -128,7 +133,7 @@ through to completion and not stop at the first failure. The GCC test suite is very comprehensive and is almost guaranteed to generate a few failures. To get a summary of the test suite results, run this:</para> -<screen><userinput>../&gcc-dir;/contrib/test_summary</userinput></screen> +<screen><userinput>../gcc-&gcc-version;/contrib/test_summary</userinput></screen> <para>(For just the summaries, pipe the output through <userinput>grep -A7 Summ</userinput>.)</para> @@ -146,8 +151,8 @@ current GCC-&gcc-version; should look on i686-pc-linux-gnu, see <para>The unexpected pass for g++ is due to the use of <emphasis>--enable-__cxa_atexit</emphasis>. Apparently not all platforms -supported by GCC have support for "__cxa_atexit" in their C libraries, so this -test is not always expected to pass.</para> +supported by GCC have support for <quote>__cxa_atexit</quote> in their C +libraries, so this test is not always expected to pass.</para> <para>The 24 unexpected passes for libstdc++ are due to the use of <emphasis>--enable-clocale=gnu</emphasis>. This option, which is the correct @@ -160,8 +165,10 @@ tests are not always expected to pass.</para> <para>Having a few unexpected failures often cannot be avoided. The GCC developers are usually aware of these, but haven't yet gotten around to fixing -them. In short, unless your results are vastly different from those at the -above URL, it is safe to continue.</para> +them. One particular case in point is the filebuf_members test in the C++ +standard library testsuite. This test has been observed to fail in some +situations, but succeeed in others. In short, unless your results are vastly +different from those at the above URL, it is safe to continue.</para> <para>And finally install the package:</para> @@ -175,9 +182,8 @@ GCC Specs patch.</para></note> </sect2> -<sect2><title> </title><para> </para> +<sect2><title> </title><para> </para> <para>The details on this package are found in <xref linkend="contents-gcc"/>.</para> -<para> </para></sect2> +<para> </para></sect2> </sect1> - |