r5314 - in branches/cross-lfs/BOOK/cross-tools: . common multilib ppc sparc x86 x86_64

jim at linuxfromscratch.org jim at linuxfromscratch.org
Thu May 12 13:10:29 PDT 2005


Author: jim
Date: 2005-05-12 14:10:28 -0600 (Thu, 12 May 2005)
New Revision: 5314

Added:
   branches/cross-lfs/BOOK/cross-tools/common/glibc-nptl.xml
   branches/cross-lfs/BOOK/cross-tools/common/glibc-startfiles-nptl.xml
   branches/cross-lfs/BOOK/cross-tools/multilib/glibc-linuxthreads.xml
   branches/cross-lfs/BOOK/cross-tools/multilib/glibc-nptl.xml
   branches/cross-lfs/BOOK/cross-tools/multilib/glibc-startfiles-nptl.xml
   branches/cross-lfs/BOOK/cross-tools/x86_64/
   branches/cross-lfs/BOOK/cross-tools/x86_64/flags.xml
   branches/cross-lfs/BOOK/cross-tools/x86_64/gcc-final.xml
   branches/cross-lfs/BOOK/cross-tools/x86_64/gcc-shared.xml
   branches/cross-lfs/BOOK/cross-tools/x86_64/gcc-static.xml
   branches/cross-lfs/BOOK/cross-tools/x86_64/glibc-headers.xml
   branches/cross-lfs/BOOK/cross-tools/x86_64/glibc-startfiles.xml
   branches/cross-lfs/BOOK/cross-tools/x86_64/glibc.xml
   branches/cross-lfs/BOOK/cross-tools/x86_64/linux-libc-headers.xml
Removed:
   branches/cross-lfs/BOOK/cross-tools/ppc/glibc-startfiles.xml
   branches/cross-lfs/BOOK/cross-tools/ppc/glibc.xml
   branches/cross-lfs/BOOK/cross-tools/sparc/glibc-startfiles.xml
   branches/cross-lfs/BOOK/cross-tools/sparc/glibc.xml
   branches/cross-lfs/BOOK/cross-tools/x86/glibc-startfiles.xml
   branches/cross-lfs/BOOK/cross-tools/x86/glibc.xml
Modified:
   branches/cross-lfs/BOOK/cross-tools/ppc-chapter.xml
   branches/cross-lfs/BOOK/cross-tools/sparc-chapter.xml
   branches/cross-lfs/BOOK/cross-tools/sparc64-chapter.xml
Log:
Made glibc-linuxthreads and glibc-startfiles-linuxthreads in common

Added: branches/cross-lfs/BOOK/cross-tools/common/glibc-nptl.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/common/glibc-nptl.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/common/glibc-nptl.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+<sect1 id="ch-cross-tools-glibc" role="wrap">
+<title>Glibc-&glibc-version;</title>
+<?dbhtml filename="glibc.html"?>
+
+<indexterm zone="ch-cross-tools-glibc">
+<primary sortas="a-Glibc">Glibc</primary>
+<secondary>cross tools</secondary></indexterm>
+
+<sect2 role="package"><title/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
+
+<segmentedlist>
+<segtitle>&buildtime;</segtitle>
+<segtitle>&diskspace;</segtitle>
+<seglistitem><seg>11.8 SBU</seg><seg>800 MB</seg></seglistitem>
+</segmentedlist>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
+
+</sect2>
+
+<sect2 role="installation">
+<title>Installation of Glibc</title>
+
+<para>This package is known to have issues when its default
+optimization flags (including the <parameter>-march</parameter> and
+<parameter>-mcpu</parameter> options) are changed. If any environment
+variables that override default optimizations have been defined, such
+as <envar>CFLAGS</envar> and <envar>CXXFLAGS</envar>,
+unset them when building Glibc.</para>
+
+<para>It should be noted that compiling Glibc in any way other than
+the method suggested in this book puts the stability of the system at
+risk.</para>
+
+<para>The Glibc documentation recommends building Glibc outside of the source
+directory in a dedicated build directory:</para>
+
+<screen><userinput>mkdir ../glibc-build
+cd ../glibc-build</userinput></screen>
+
+<para>For NPTL enabled systems we will need to add the following lines to config.cache</para>
+
+<screen><userinput>echo "libc_cv_forced_unwind=yes" > config.cache
+echo "libc_cv_c_cleanup=yes" >> config.cache</userinput></screen>
+
+<para>Next, prepare Glibc for compilation:</para>
+
+<screen><userinput>CC="${LFS_TARGET}-gcc" AR="${LFS_TARGET}-ar" \
+    RANLIB="${LFS_TARGET}-ranlib" \
+    ../glibc-&glibc-version;/configure --prefix=/tools \
+    --host=${LFS_TARGET} --build=${LFS_HOST} \
+    --without-cvs --disable-profile --enable-add-ons \
+    --with-tls --enable-kernel=2.6.0 --with-__thread \
+    --with-binutils=/cross-tools/bin --with-headers=/tools/include \
+    --cache-file=config.cache</userinput></screen>
+
+<para>The meaning of the configure options:</para>
+
+<variablelist>
+<varlistentry>
+<term><parameter>--disable-profile</parameter></term>
+<listitem><para>This builds the libraries without profiling
+information. Omit this option if profiling on the temporary tools is
+necessary.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--enable-add-ons</parameter></term>
+<listitem><para>This tells Glibc to use the NPTL add-on as its threading 
+library.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--enable-kernel=2.6.0</parameter></term>
+<listitem><para>This tells Glibc to compile the library with support
+for 2.6.x Linux kernels.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--with-binutils=/cross-tools/bin</parameter></term>
+<listitem><para>While not required, this switch ensures that there are
+no errors pertaining to which Binutils programs get used during the
+Glibc build.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--without-gd</parameter></term>
+<listitem><para>This prevents the build of the
+<command>memusagestat</command> program, which insists on linking
+against the host's libraries (libgd, libpng, libz,
+etc.).</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--with-headers=/tools/include</parameter></term>
+<listitem><para>This tells Glibc to compile itself against the headers recently
+installed to the tools directory, so that it knows exactly what features the
+kernel has and can optimize itself accordingly.</para></listitem>
+</varlistentry>
+
+</variablelist>
+
+<para>During this stage the following warning might appear:</para>
+
+<blockquote><screen><computeroutput>configure: WARNING:
+*** These auxiliary programs are missing or 
+*** incompatible versions: msgfmt
+*** some features will be disabled.
+*** Check the INSTALL file for required versions.</computeroutput></screen></blockquote>
+
+<para>The missing or incompatible <command>msgfmt</command> program is
+generally harmless, but it can sometimes cause issues when running the
+test suite. This <command>msgfmt</command> program is part of the
+Gettext package which the host distribution should provide. If
+<command>msgfmt</command> is present but deemed incompatible, upgrade
+the host system's Gettext package or continue without it and see if
+the test suite runs without problems regardless.</para>
+
+<para>Compile the package:</para>
+
+<screen><userinput>make</userinput></screen>
+
+<para>Install the package:</para>
+
+<screen><userinput>make install</userinput></screen>
+
+</sect2>
+
+<sect2 role="content"><title/>
+<para>Details on this package are located in <xref
+linkend="contents-glibc" role="."/></para>
+</sect2>
+
+</sect1>
+

Added: branches/cross-lfs/BOOK/cross-tools/common/glibc-startfiles-nptl.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/common/glibc-startfiles-nptl.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/common/glibc-startfiles-nptl.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+<sect1 id="ch-cross-tools-glibc-startfiles" role="wrap">
+<title>Glibc-&glibc-version; Startfiles</title>
+<?dbhtml filename="glibc-startfiles.html"?>
+
+<indexterm zone="ch-cross-tools-glibc-startfiles">
+<primary sortas="a-Glibc">Glibc</primary>
+<secondary>cross tools, startfiles</secondary></indexterm>
+
+<sect2 role="package"><title/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
+
+<segmentedlist>
+<segtitle>&buildtime;</segtitle>
+<segtitle>&diskspace;</segtitle>
+<seglistitem><seg>11.8 SBU</seg><seg>800 MB</seg></seglistitem>
+</segmentedlist>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
+
+</sect2>
+
+<sect2 role="installation">
+<title>Installation of Glibc Startfiles</title>
+
+<para>The Glibc documentation recommends building Glibc outside of the source
+directory in a dedicated build directory:</para>
+
+<screen><userinput>mkdir ../glibc-build
+cd ../glibc-build</userinput></screen>
+
+<para>Next, prepare Glibc for compilation:</para>
+
+<para>For NPTL enabled systems we will need to add the following lines to config.cache</para>
+
+<screen><userinput>echo "libc_cv_forced_unwind=yes" > config.cache
+echo "libc_cv_c_cleanup=yes" >> config.cache</userinput></screen>
+
+<para>To create NPTL Startfiles use the following configure line:</para>
+
+<screen><userinput>CC="${LFS_TARGET}-gcc" AR="${LFS_TARGET}-ar" \
+    RANLIB="${LFS_TARGET}-ranlib" \
+    ../glibc-&glibc-version;/configure --prefix=/tools \
+    --host=${LFS_TARGET} --build=${LFS_HOST} \
+    --without-cvs --disable-profile --enable-add-ons \
+    --with-tls --enable-kernel=2.6.0 --with-__thread \
+    --with-binutils=/cross-tools/bin --with-headers=/tools/include \
+    --cache-file=config.cache</userinput></screen>
+
+<para>The meaning of the configure options:</para>
+
+<variablelist>
+<varlistentry>
+<term><parameter>--enable-kernel=2.6.0</parameter></term>
+<listitem><para>This tells Glibc to compile the library with support
+for 2.6.x Linux kernels.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--with-binutils=/cross-tools/bin</parameter></term>
+<listitem><para>While not required, this switch ensures that there are
+no errors pertaining to which Binutils programs get used during the
+Glibc build.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--with-headers=/tools/include</parameter></term>
+<listitem><para>This tells Glibc to compile itself against the headers recently
+installed to the tools directory, so that it knows exactly what features the
+kernel has and can optimize itself accordingly.</para></listitem>
+</varlistentry>
+
+</variablelist>
+
+<para>Compile the package:</para>
+
+<screen><userinput>make csu/subdir_lib</userinput></screen>
+
+<para>Since we are only creating the glibc startfiles at this time
+we will need to manually copy files over.</para>
+
+<screen><userinput>install -d /tools/lib
+cp -fp csu/crt[i1n].o /tools/lib</userinput></screen>
+
+</sect2>
+
+</sect1>
+

Added: branches/cross-lfs/BOOK/cross-tools/multilib/glibc-linuxthreads.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/multilib/glibc-linuxthreads.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/multilib/glibc-linuxthreads.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+<sect1 id="ch-cross-tools-glibc" role="wrap">
+<title>Glibc-&glibc-version;</title>
+<?dbhtml filename="glibc.html"?>
+
+<indexterm zone="ch-cross-tools-glibc">
+<primary sortas="a-Glibc">Glibc</primary>
+<secondary>cross tools</secondary></indexterm>
+
+<sect2 role="package"><title/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
+
+<segmentedlist>
+<segtitle>&buildtime;</segtitle>
+<segtitle>&diskspace;</segtitle>
+<seglistitem><seg>11.8 SBU</seg><seg>800 MB</seg></seglistitem>
+</segmentedlist>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
+
+</sect2>
+
+<sect2 role="installation">
+<title>Installation of Glibc</title>
+
+<para>This package is known to have issues when its default
+optimization flags (including the <parameter>-march</parameter> and
+<parameter>-mcpu</parameter> options) are changed. If any environment
+variables that override default optimizations have been defined, such
+as <envar>CFLAGS</envar> and <envar>CXXFLAGS</envar>,
+unset them when building Glibc.</para>
+
+<para>It should be noted that compiling Glibc in any way other than
+the method suggested in this book puts the stability of the system at
+risk.</para>
+
+<para>This architecture does not currently support NPTL,
+so we will have to include Glibc Linuxthreads as a threading library.
+Building for a Linuxthreads based glibc you will need to
+unpack the glibc-linuxthreads-&glibc-version; tarball from
+within the glibc-&glibc-version; directory.</para>
+
+<para>NPTL is not supported under this architecture, so we are going to
+remove the nptl directory from the Glibc source:</para>
+
+<screen><userinput>rm -rf nptl*</userinput></screen>
+
+<para>The Glibc documentation recommends building Glibc outside of the source
+directory in a dedicated build directory:</para>
+
+<screen><userinput>mkdir ../glibc-build
+cd ../glibc-build</userinput></screen>
+
+<para>Next, prepare Glibc for compilation:</para>
+
+<screen><userinput>CC="${LFS_TARGET}-gcc ${BUILD32}" \
+    AR="${LFS_TARGET}-ar" RANLIB="${LFS_TARGET}-ranlib" \
+    ../glibc-&glibc-version;/configure --prefix=/tools \
+    --host="sparcv9-unknown-linux-gnu" --build=${LFS_HOST} \
+    --without-cvs --disable-profile --enable-add-ons \
+    --enable-kernel=2.6.0 --with-binutils=/cross-tools/bin \
+    --with-headers=/tools/include --without-gd \
+    --mandir=/tools/share/man --infodir=/tools/share/info \
+    --libexecdir=/tools/lib/glibc</userinput></screen>
+
+<para>The meaning of the configure options:</para>
+
+<variablelist>
+<varlistentry>
+<term><parameter>--disable-profile</parameter></term>
+<listitem><para>This builds the libraries without profiling
+information. Omit this option if profiling on the temporary tools is
+necessary.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--enable-add-ons</parameter></term>
+<listitem><para>This tells Glibc to use the NPTL add-on as its threading 
+library.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--enable-kernel=2.6.0</parameter></term>
+<listitem><para>This tells Glibc to compile the library with support
+for 2.6.x Linux kernels.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--with-binutils=/cross-tools/bin</parameter></term>
+<listitem><para>While not required, this switch ensures that there are
+no errors pertaining to which Binutils programs get used during the
+Glibc build.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--without-gd</parameter></term>
+<listitem><para>This prevents the build of the
+<command>memusagestat</command> program, which insists on linking
+against the host's libraries (libgd, libpng, libz,
+etc.).</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--with-headers=/tools/include</parameter></term>
+<listitem><para>This tells Glibc to compile itself against the headers recently
+installed to the tools directory, so that it knows exactly what features the
+kernel has and can optimize itself accordingly.</para></listitem>
+</varlistentry>
+
+</variablelist>
+
+<para>During this stage the following warning might appear:</para>
+
+<blockquote><screen><computeroutput>configure: WARNING:
+*** These auxiliary programs are missing or 
+*** incompatible versions: msgfmt
+*** some features will be disabled.
+*** Check the INSTALL file for required versions.</computeroutput></screen></blockquote>
+
+<para>The missing or incompatible <command>msgfmt</command> program is
+generally harmless, but it can sometimes cause issues when running the
+test suite. This <command>msgfmt</command> program is part of the
+Gettext package which the host distribution should provide. If
+<command>msgfmt</command> is present but deemed incompatible, upgrade
+the host system's Gettext package or continue without it and see if
+the test suite runs without problems regardless.</para>
+
+<para>Compile the package:</para>
+
+<screen><userinput>make</userinput></screen>
+
+<para>Install the package:</para>
+
+<screen><userinput>make install</userinput></screen>
+
+</sect2>
+
+<sect2 role="content"><title/>
+<para>Details on this package are located in <xref
+linkend="contents-glibc" role="."/></para>
+</sect2>
+
+</sect1>
+

Added: branches/cross-lfs/BOOK/cross-tools/multilib/glibc-nptl.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/multilib/glibc-nptl.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/multilib/glibc-nptl.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+<sect1 id="ch-cross-tools-glibc" role="wrap">
+<title>Glibc-&glibc-version;</title>
+<?dbhtml filename="glibc.html"?>
+
+<indexterm zone="ch-cross-tools-glibc">
+<primary sortas="a-Glibc">Glibc</primary>
+<secondary>cross tools</secondary></indexterm>
+
+<sect2 role="package"><title/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
+
+<segmentedlist>
+<segtitle>&buildtime;</segtitle>
+<segtitle>&diskspace;</segtitle>
+<seglistitem><seg>11.8 SBU</seg><seg>800 MB</seg></seglistitem>
+</segmentedlist>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
+
+</sect2>
+
+<sect2 role="installation">
+<title>Installation of Glibc</title>
+
+<para>This package is known to have issues when its default
+optimization flags (including the <parameter>-march</parameter> and
+<parameter>-mcpu</parameter> options) are changed. If any environment
+variables that override default optimizations have been defined, such
+as <envar>CFLAGS</envar> and <envar>CXXFLAGS</envar>,
+unset them when building Glibc.</para>
+
+<para>It should be noted that compiling Glibc in any way other than
+the method suggested in this book puts the stability of the system at
+risk.</para>
+
+<para>The Glibc documentation recommends building Glibc outside of the source
+directory in a dedicated build directory:</para>
+
+<screen><userinput>mkdir ../glibc-build
+cd ../glibc-build</userinput></screen>
+
+<para>For NPTL enabled systems we will need to add the following lines to config.cache</para>
+
+<screen><userinput>echo "libc_cv_forced_unwind=yes" > config.cache
+echo "libc_cv_c_cleanup=yes" >> config.cache</userinput></screen>
+
+<para>Next, prepare Glibc for compilation:</para>
+
+<screen><userinput>CC="${LFS_TARGET}-gcc" AR="${LFS_TARGET}-ar" \
+    RANLIB="${LFS_TARGET}-ranlib" \
+    ../glibc-&glibc-version;/configure --prefix=/tools \
+    --host=${LFS_TARGET} --build=${LFS_HOST} \
+    --without-cvs --disable-profile --enable-add-ons \
+    --with-tls --enable-kernel=2.6.0 --with-__thread \
+    --with-binutils=/cross-tools/bin --with-headers=/tools/include \
+    --cache-file=config.cache</userinput></screen>
+
+<para>The meaning of the configure options:</para>
+
+<variablelist>
+<varlistentry>
+<term><parameter>--disable-profile</parameter></term>
+<listitem><para>This builds the libraries without profiling
+information. Omit this option if profiling on the temporary tools is
+necessary.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--enable-add-ons</parameter></term>
+<listitem><para>This tells Glibc to use the NPTL add-on as its threading 
+library.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--enable-kernel=2.6.0</parameter></term>
+<listitem><para>This tells Glibc to compile the library with support
+for 2.6.x Linux kernels.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--with-binutils=/cross-tools/bin</parameter></term>
+<listitem><para>While not required, this switch ensures that there are
+no errors pertaining to which Binutils programs get used during the
+Glibc build.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--without-gd</parameter></term>
+<listitem><para>This prevents the build of the
+<command>memusagestat</command> program, which insists on linking
+against the host's libraries (libgd, libpng, libz,
+etc.).</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--with-headers=/tools/include</parameter></term>
+<listitem><para>This tells Glibc to compile itself against the headers recently
+installed to the tools directory, so that it knows exactly what features the
+kernel has and can optimize itself accordingly.</para></listitem>
+</varlistentry>
+
+</variablelist>
+
+<para>During this stage the following warning might appear:</para>
+
+<blockquote><screen><computeroutput>configure: WARNING:
+*** These auxiliary programs are missing or 
+*** incompatible versions: msgfmt
+*** some features will be disabled.
+*** Check the INSTALL file for required versions.</computeroutput></screen></blockquote>
+
+<para>The missing or incompatible <command>msgfmt</command> program is
+generally harmless, but it can sometimes cause issues when running the
+test suite. This <command>msgfmt</command> program is part of the
+Gettext package which the host distribution should provide. If
+<command>msgfmt</command> is present but deemed incompatible, upgrade
+the host system's Gettext package or continue without it and see if
+the test suite runs without problems regardless.</para>
+
+<para>Compile the package:</para>
+
+<screen><userinput>make</userinput></screen>
+
+<para>Install the package:</para>
+
+<screen><userinput>make install</userinput></screen>
+
+</sect2>
+
+<sect2 role="content"><title/>
+<para>Details on this package are located in <xref
+linkend="contents-glibc" role="."/></para>
+</sect2>
+
+</sect1>
+

Added: branches/cross-lfs/BOOK/cross-tools/multilib/glibc-startfiles-nptl.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/multilib/glibc-startfiles-nptl.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/multilib/glibc-startfiles-nptl.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+<sect1 id="ch-cross-tools-glibc-startfiles" role="wrap">
+<title>Glibc-&glibc-version; Startfiles</title>
+<?dbhtml filename="glibc-startfiles.html"?>
+
+<indexterm zone="ch-cross-tools-glibc-startfiles">
+<primary sortas="a-Glibc">Glibc</primary>
+<secondary>cross tools, startfiles</secondary></indexterm>
+
+<sect2 role="package"><title/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
+
+<segmentedlist>
+<segtitle>&buildtime;</segtitle>
+<segtitle>&diskspace;</segtitle>
+<seglistitem><seg>11.8 SBU</seg><seg>800 MB</seg></seglistitem>
+</segmentedlist>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
+
+</sect2>
+
+<sect2 role="installation">
+<title>Installation of Glibc Startfiles</title>
+
+<para>The Glibc documentation recommends building Glibc outside of the source
+directory in a dedicated build directory:</para>
+
+<screen><userinput>mkdir ../glibc-build
+cd ../glibc-build</userinput></screen>
+
+<para>Next, prepare Glibc for compilation:</para>
+
+<para>For NPTL enabled systems we will need to add the following lines to config.cache</para>
+
+<screen><userinput>echo "libc_cv_forced_unwind=yes" > config.cache
+echo "libc_cv_c_cleanup=yes" >> config.cache</userinput></screen>
+
+<para>To create NPTL Startfiles use the following configure line:</para>
+
+<screen><userinput>CC="${LFS_TARGET}-gcc" AR="${LFS_TARGET}-ar" \
+    RANLIB="${LFS_TARGET}-ranlib" \
+    ../glibc-&glibc-version;/configure --prefix=/tools \
+    --host=${LFS_TARGET} --build=${LFS_HOST} \
+    --without-cvs --disable-profile --enable-add-ons \
+    --with-tls --enable-kernel=2.6.0 --with-__thread \
+    --with-binutils=/cross-tools/bin --with-headers=/tools/include \
+    --cache-file=config.cache</userinput></screen>
+
+<para>The meaning of the configure options:</para>
+
+<variablelist>
+<varlistentry>
+<term><parameter>--enable-kernel=2.6.0</parameter></term>
+<listitem><para>This tells Glibc to compile the library with support
+for 2.6.x Linux kernels.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--with-binutils=/cross-tools/bin</parameter></term>
+<listitem><para>While not required, this switch ensures that there are
+no errors pertaining to which Binutils programs get used during the
+Glibc build.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--with-headers=/tools/include</parameter></term>
+<listitem><para>This tells Glibc to compile itself against the headers recently
+installed to the tools directory, so that it knows exactly what features the
+kernel has and can optimize itself accordingly.</para></listitem>
+</varlistentry>
+
+</variablelist>
+
+<para>Compile the package:</para>
+
+<screen><userinput>make csu/subdir_lib</userinput></screen>
+
+<para>Since we are only creating the glibc startfiles at this time
+we will need to manually copy files over.</para>
+
+<screen><userinput>install -d /tools/lib
+cp -fp csu/crt[i1n].o /tools/lib</userinput></screen>
+
+</sect2>
+
+</sect1>
+

Deleted: branches/cross-lfs/BOOK/cross-tools/ppc/glibc-startfiles.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/ppc/glibc-startfiles.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/ppc/glibc-startfiles.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-<sect1 id="ch-cross-tools-glibc-startfiles" role="wrap">
-<title>Glibc-&glibc-version; Startfiles</title>
-<?dbhtml filename="glibc-startfiles.html"?>
-
-<indexterm zone="ch-cross-tools-glibc-startfiles">
-<primary sortas="a-Glibc">Glibc</primary>
-<secondary>cross tools, startfiles</secondary></indexterm>
-
-<sect2 role="package"><title/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
-
-<segmentedlist>
-<segtitle>&buildtime;</segtitle>
-<segtitle>&diskspace;</segtitle>
-<seglistitem><seg>11.8 SBU</seg><seg>800 MB</seg></seglistitem>
-</segmentedlist>
-
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
-
-</sect2>
-
-<sect2 role="installation">
-<title>Installation of Glibc Startfiles</title>
-
-<para>The Glibc documentation recommends building Glibc outside of the source
-directory in a dedicated build directory:</para>
-
-<screen><userinput>mkdir ../glibc-build
-cd ../glibc-build</userinput></screen>
-
-<para>Next, prepare Glibc for compilation:</para>
-
-<para>For NPTL enabled systems we will need to add the following lines to config.cache</para>
-<screen><userinput>echo "libc_cv_forced_unwind=yes" > config.cache
-echo "libc_cv_c_cleanup=yes" >> config.cache</userinput></screen>
-
-<para>To create NPTL Startfiles use the following configure line:</para>
-
-<screen><userinput>CC="${LFS_TARGET}-gcc" AR="${LFS_TARGET}-ar" \
-    RANLIB="${LFS_TARGET}-ranlib" \
-    ../glibc-&glibc-version;/configure --prefix=/tools \
-    --host=${LFS_TARGET} --build=${LFS_HOST} \
-    --without-cvs --disable-profile --enable-add-ons \
-    --with-tls --enable-kernel=2.6.0 --with-__thread \
-    --with-binutils=/cross-tools/bin --with-headers=/tools/include \
-    --cache-file=config.cache</userinput></screen>
-
-<para>The meaning of the configure options:</para>
-
-<variablelist>
-<varlistentry>
-<term><parameter>--enable-kernel=2.6.0</parameter></term>
-<listitem><para>This tells Glibc to compile the library with support
-for 2.6.x Linux kernels.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--with-binutils=/cross-tools/bin</parameter></term>
-<listitem><para>While not required, this switch ensures that there are
-no errors pertaining to which Binutils programs get used during the
-Glibc build.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--with-headers=/tools/include</parameter></term>
-<listitem><para>This tells Glibc to compile itself against the headers recently
-installed to the tools directory, so that it knows exactly what features the
-kernel has and can optimize itself accordingly.</para></listitem>
-</varlistentry>
-
-</variablelist>
-
-<para>Compile the package:</para>
-
-<screen><userinput>make csu/subdir_lib</userinput></screen>
-
-<para>Since we are only creating the glibc startfiles at this time
-we will need to manually copy files over.</para>
-
-<screen><userinput>install -d /tools/lib
-cp -fp csu/crt[i1n].o /tools/lib</userinput></screen>
-
-</sect2>
-
-</sect1>
-

Deleted: branches/cross-lfs/BOOK/cross-tools/ppc/glibc.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/ppc/glibc.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/ppc/glibc.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -1,141 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-<sect1 id="ch-cross-tools-glibc" role="wrap">
-<title>Glibc-&glibc-version;</title>
-<?dbhtml filename="glibc.html"?>
-
-<indexterm zone="ch-cross-tools-glibc">
-<primary sortas="a-Glibc">Glibc</primary>
-<secondary>cross tools</secondary></indexterm>
-
-<sect2 role="package"><title/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
-
-<segmentedlist>
-<segtitle>&buildtime;</segtitle>
-<segtitle>&diskspace;</segtitle>
-<seglistitem><seg>11.8 SBU</seg><seg>800 MB</seg></seglistitem>
-</segmentedlist>
-
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
-
-</sect2>
-
-<sect2 role="installation">
-<title>Installation of Glibc</title>
-
-<para>This package is known to have issues when its default
-optimization flags (including the <parameter>-march</parameter> and
-<parameter>-mcpu</parameter> options) are changed. If any environment
-variables that override default optimizations have been defined, such
-as <envar>CFLAGS</envar> and <envar>CXXFLAGS</envar>,
-unset them when building Glibc.</para>
-
-<para>It should be noted that compiling Glibc in any way other than
-the method suggested in this book puts the stability of the system at
-risk.</para>
-
-<para>The Glibc documentation recommends building Glibc outside of the source
-directory in a dedicated build directory:</para>
-
-<screen><userinput>mkdir ../glibc-build
-cd ../glibc-build</userinput></screen>
-
-<para>For NPTL enabled systems we will need to add the following lines to config.cache</para>
-
-<screen><userinput>echo "libc_cv_forced_unwind=yes" > config.cache
-echo "libc_cv_c_cleanup=yes" >> config.cache</userinput></screen>
-
-<para>Next, prepare Glibc for compilation:</para>
-
-<screen><userinput>CC="${LFS_TARGET}-gcc" AR="${LFS_TARGET}-ar" \
-    RANLIB="${LFS_TARGET}-ranlib" \
-    ../glibc-&glibc-version;/configure --prefix=/tools \
-    --host=${LFS_TARGET} --build=${LFS_HOST} \
-    --without-cvs --disable-profile --enable-add-ons \
-    --with-tls --enable-kernel=2.6.0 --with-__thread \
-    --with-binutils=/cross-tools/bin --with-headers=/tools/include \
-    --cache-file=config.cache</userinput></screen>
-
-<para>The meaning of the configure options:</para>
-
-<variablelist>
-<varlistentry>
-<term><parameter>--disable-profile</parameter></term>
-<listitem><para>This builds the libraries without profiling
-information. Omit this option if profiling on the temporary tools is
-necessary.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--enable-add-ons</parameter></term>
-<listitem><para>This tells Glibc to use the NPTL add-on as its threading 
-library.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--enable-kernel=2.6.0</parameter></term>
-<listitem><para>This tells Glibc to compile the library with support
-for 2.6.x Linux kernels.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--with-binutils=/cross-tools/bin</parameter></term>
-<listitem><para>While not required, this switch ensures that there are
-no errors pertaining to which Binutils programs get used during the
-Glibc build.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--without-gd</parameter></term>
-<listitem><para>This prevents the build of the
-<command>memusagestat</command> program, which insists on linking
-against the host's libraries (libgd, libpng, libz,
-etc.).</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--with-headers=/tools/include</parameter></term>
-<listitem><para>This tells Glibc to compile itself against the headers recently
-installed to the tools directory, so that it knows exactly what features the
-kernel has and can optimize itself accordingly.</para></listitem>
-</varlistentry>
-
-</variablelist>
-
-<para>During this stage the following warning might appear:</para>
-
-<blockquote><screen><computeroutput>configure: WARNING:
-*** These auxiliary programs are missing or 
-*** incompatible versions: msgfmt
-*** some features will be disabled.
-*** Check the INSTALL file for required versions.</computeroutput></screen></blockquote>
-
-<para>The missing or incompatible <command>msgfmt</command> program is
-generally harmless, but it can sometimes cause issues when running the
-test suite. This <command>msgfmt</command> program is part of the
-Gettext package which the host distribution should provide. If
-<command>msgfmt</command> is present but deemed incompatible, upgrade
-the host system's Gettext package or continue without it and see if
-the test suite runs without problems regardless.</para>
-
-<para>Compile the package:</para>
-
-<screen><userinput>make</userinput></screen>
-
-<para>Install the package:</para>
-
-<screen><userinput>make install</userinput></screen>
-
-</sect2>
-
-<sect2 role="content"><title/>
-<para>Details on this package are located in <xref
-linkend="contents-glibc" role="."/></para>
-</sect2>
-
-</sect1>
-

Modified: branches/cross-lfs/BOOK/cross-tools/ppc-chapter.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/ppc-chapter.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/ppc-chapter.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -14,9 +14,9 @@
 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ppc/linux-libc-headers.xml"/>
 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/binutils.xml"/>
 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ppc/gcc-static.xml"/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ppc/glibc-startfiles.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/glibc-startfiles-nptl.xml"/>
 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ppc/gcc-shared.xml"/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ppc/glibc.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/glibc-nptl.xml"/>
 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ppc/gcc-final.xml"/>
 
 </chapter>

Deleted: branches/cross-lfs/BOOK/cross-tools/sparc/glibc-startfiles.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/sparc/glibc-startfiles.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/sparc/glibc-startfiles.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-<sect1 id="ch-cross-tools-glibc-startfiles" role="wrap">
-<title>Glibc-&glibc-version; Startfiles</title>
-<?dbhtml filename="glibc-startfiles.html"?>
-
-<indexterm zone="ch-cross-tools-glibc-startfiles">
-<primary sortas="a-Glibc">Glibc</primary>
-<secondary>cross tools, startfiles</secondary></indexterm>
-
-<sect2 role="package"><title/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
-
-<segmentedlist>
-<segtitle>&buildtime;</segtitle>
-<segtitle>&diskspace;</segtitle>
-<seglistitem><seg>11.8 SBU</seg><seg>800 MB</seg></seglistitem>
-</segmentedlist>
-
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
-
-</sect2>
-
-<sect2 role="installation">
-<title>Installation of Glibc Startfiles</title>
-
-<para>This architecture does not currently support NPTL,
-so we will have to include Glibc Linuxthreads as a threading library.
-Building for a Linuxthreads based glibc you will need to
-unpack the glibc-linuxthreads-&glibc-version; tarball from
-within the glibc-&glibc-version; directory.</para>
-
-<para>NPTL is not supported under this architecture, so we are going to
-remove the nptl directory from the Glibc source:</para>
-
-<screen><userinput>rm -rf nptl*</userinput></screen>
-
-<para>The Glibc documentation recommends building Glibc outside of the source
-directory in a dedicated build directory:</para>
-
-<screen><userinput>mkdir ../glibc-build
-cd ../glibc-build</userinput></screen>
-
-<para>Next, prepare Glibc for compilation:</para>
-
-<para>To create Linuxthread Startfiles use the following configure line:</para>
-
-<screen><userinput>CC="${LFS_TARGET}-gcc" AR="${LFS_TARGET}-ar" \
-    RANLIB="${LFS_TARGET}-ranlib" \
-    ../glibc-&glibc-version;/configure --prefix=/tools \
-    --host=${LFS_TARGET} --build=${LFS_HOST} \
-    --without-cvs --disable-profile --enable-add-ons \
-    --enable-kernel=2.6.0 --with-binutils=/cross-tools/bin \
-    --with-headers=/tools/include</userinput></screen>
-
-<para>The meaning of the configure options:</para>
-
-<variablelist>
-<varlistentry>
-<term><parameter>--enable-kernel=2.6.0</parameter></term>
-<listitem><para>This tells Glibc to compile the library with support
-for 2.6.x Linux kernels.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--with-binutils=/cross-tools/bin</parameter></term>
-<listitem><para>While not required, this switch ensures that there are
-no errors pertaining to which Binutils programs get used during the
-Glibc build.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--with-headers=/tools/include</parameter></term>
-<listitem><para>This tells Glibc to compile itself against the headers recently
-installed to the tools directory, so that it knows exactly what features the
-kernel has and can optimize itself accordingly.</para></listitem>
-</varlistentry>
-
-</variablelist>
-
-<para>Compile the package:</para>
-
-<screen><userinput>make csu/subdir_lib</userinput></screen>
-
-<para>Since we are only creating the glibc startfiles at this time
-we will need to manually copy files over.</para>
-
-<screen><userinput>install -d /tools/lib
-cp -fp csu/crt[i1n].o /tools/lib</userinput></screen>
-
-</sect2>
-
-</sect1>
-

Deleted: branches/cross-lfs/BOOK/cross-tools/sparc/glibc.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/sparc/glibc.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/sparc/glibc.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-<sect1 id="ch-cross-tools-glibc" role="wrap">
-<title>Glibc-&glibc-version;</title>
-<?dbhtml filename="glibc.html"?>
-
-<indexterm zone="ch-cross-tools-glibc">
-<primary sortas="a-Glibc">Glibc</primary>
-<secondary>cross tools</secondary></indexterm>
-
-<sect2 role="package"><title/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
-
-<segmentedlist>
-<segtitle>&buildtime;</segtitle>
-<segtitle>&diskspace;</segtitle>
-<seglistitem><seg>11.8 SBU</seg><seg>800 MB</seg></seglistitem>
-</segmentedlist>
-
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
-
-</sect2>
-
-<sect2 role="installation">
-<title>Installation of Glibc</title>
-
-<para>This package is known to have issues when its default
-optimization flags (including the <parameter>-march</parameter> and
-<parameter>-mcpu</parameter> options) are changed. If any environment
-variables that override default optimizations have been defined, such
-as <envar>CFLAGS</envar> and <envar>CXXFLAGS</envar>,
-unset them when building Glibc.</para>
-
-<para>It should be noted that compiling Glibc in any way other than
-the method suggested in this book puts the stability of the system at
-risk.</para>
-
-<para>This architecture does not currently support NPTL,
-so we will have to include Glibc Linuxthreads as a threading library.
-Building for a Linuxthreads based glibc you will need to
-unpack the glibc-linuxthreads-&glibc-version; tarball from
-within the glibc-&glibc-version; directory.</para>
-
-<para>NPTL is not supported under this architecture, so we are going to
-remove the nptl directory from the Glibc source:</para>
-
-<screen><userinput>rm -rf nptl*</userinput></screen>
-
-<para>The Glibc documentation recommends building Glibc outside of the source
-directory in a dedicated build directory:</para>
-
-<screen><userinput>mkdir ../glibc-build
-cd ../glibc-build</userinput></screen>
-
-<para>Next, prepare Glibc for compilation:</para>
-
-<screen><userinput>CC="${LFS_TARGET}-gcc" AR="${LFS_TARGET}-ar" \
-    RANLIB="${LFS_TARGET}-ranlib" \
-    ../glibc-&glibc-version;/configure --prefix=/tools \
-    --host=${LFS_TARGET} --build=${LFS_HOST} \
-    --without-cvs --disable-profile --enable-add-ons \
-    --enable-kernel=2.6.0 --with-binutils=/cross-tools/bin \
-    --with-headers=/tools/include</userinput></screen>
-
-<para>The meaning of the configure options:</para>
-
-<variablelist>
-<varlistentry>
-<term><parameter>--disable-profile</parameter></term>
-<listitem><para>This builds the libraries without profiling
-information. Omit this option if profiling on the temporary tools is
-necessary.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--enable-add-ons</parameter></term>
-<listitem><para>This tells Glibc to use the NPTL add-on as its threading 
-library.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--enable-kernel=2.6.0</parameter></term>
-<listitem><para>This tells Glibc to compile the library with support
-for 2.6.x Linux kernels.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--with-binutils=/cross-tools/bin</parameter></term>
-<listitem><para>While not required, this switch ensures that there are
-no errors pertaining to which Binutils programs get used during the
-Glibc build.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--without-gd</parameter></term>
-<listitem><para>This prevents the build of the
-<command>memusagestat</command> program, which insists on linking
-against the host's libraries (libgd, libpng, libz,
-etc.).</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--with-headers=/tools/include</parameter></term>
-<listitem><para>This tells Glibc to compile itself against the headers recently
-installed to the tools directory, so that it knows exactly what features the
-kernel has and can optimize itself accordingly.</para></listitem>
-</varlistentry>
-
-</variablelist>
-
-<para>During this stage the following warning might appear:</para>
-
-<blockquote><screen><computeroutput>configure: WARNING:
-*** These auxiliary programs are missing or 
-*** incompatible versions: msgfmt
-*** some features will be disabled.
-*** Check the INSTALL file for required versions.</computeroutput></screen></blockquote>
-
-<para>The missing or incompatible <command>msgfmt</command> program is
-generally harmless, but it can sometimes cause issues when running the
-test suite. This <command>msgfmt</command> program is part of the
-Gettext package which the host distribution should provide. If
-<command>msgfmt</command> is present but deemed incompatible, upgrade
-the host system's Gettext package or continue without it and see if
-the test suite runs without problems regardless.</para>
-
-<para>Compile the package:</para>
-
-<screen><userinput>make</userinput></screen>
-
-<para>Install the package:</para>
-
-<screen><userinput>make install</userinput></screen>
-
-</sect2>
-
-<sect2 role="content"><title/>
-<para>Details on this package are located in <xref
-linkend="contents-glibc" role="."/></para>
-</sect2>
-
-</sect1>
-

Modified: branches/cross-lfs/BOOK/cross-tools/sparc-chapter.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/sparc-chapter.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/sparc-chapter.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -14,9 +14,9 @@
 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sparc/linux-libc-headers.xml"/>
 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/binutils.xml"/>
 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sparc/gcc-static.xml"/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sparc/glibc-startfiles.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/glibc-startfiles-linuxthreads.xml"/>
 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sparc/gcc-shared.xml"/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sparc/glibc.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/glibc-linuxthreads.xml"/>
 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sparc/gcc-final.xml"/>
 
 </chapter>

Modified: branches/cross-lfs/BOOK/cross-tools/sparc64-chapter.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/sparc64-chapter.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/sparc64-chapter.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -19,7 +19,7 @@
 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sparc64/glibc-startfiles.xml"/>
 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="multilib/glibc-startfiles-linuxthreads-64bit.xml"/>
 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sparc64/gcc-shared.xml"/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sparc64/glibc.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="multilib/glibc-linuxthreads.xml"/>
 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="multilib/glibc-linuxthreads-64bit.xml"/>
 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sparc64/gcc-final.xml"/>
 

Deleted: branches/cross-lfs/BOOK/cross-tools/x86/glibc-startfiles.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/x86/glibc-startfiles.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/x86/glibc-startfiles.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-<sect1 id="ch-cross-tools-glibc-startfiles" role="wrap">
-<title>Glibc-&glibc-version; Startfiles</title>
-<?dbhtml filename="glibc-startfiles.html"?>
-
-<indexterm zone="ch-cross-tools-glibc-startfiles">
-<primary sortas="a-Glibc">Glibc</primary>
-<secondary>cross tools, startfiles</secondary></indexterm>
-
-<sect2 role="package"><title/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
-
-<segmentedlist>
-<segtitle>&buildtime;</segtitle>
-<segtitle>&diskspace;</segtitle>
-<seglistitem><seg>11.8 SBU</seg><seg>800 MB</seg></seglistitem>
-</segmentedlist>
-
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
-
-</sect2>
-
-<sect2 role="installation">
-<title>Installation of Glibc Startfiles</title>
-
-<para>The Glibc documentation recommends building Glibc outside of the source
-directory in a dedicated build directory:</para>
-
-<screen><userinput>mkdir ../glibc-build
-cd ../glibc-build</userinput></screen>
-
-<para>Next, prepare Glibc for compilation:</para>
-
-<para>For NPTL enabled systems we will need to add the following lines to config.cache</para>
-
-<screen><userinput>echo "libc_cv_forced_unwind=yes" > config.cache
-echo "libc_cv_c_cleanup=yes" >> config.cache</userinput></screen>
-
-<para>To create NPTL Startfiles use the following configure line:</para>
-
-<screen><userinput>CC="${LFS_TARGET}-gcc" AR="${LFS_TARGET}-ar" \
-    RANLIB="${LFS_TARGET}-ranlib" \
-    ../glibc-&glibc-version;/configure --prefix=/tools \
-    --host=${LFS_TARGET} --build=${LFS_HOST} \
-    --without-cvs --disable-profile --enable-add-ons \
-    --with-tls --enable-kernel=2.6.0 --with-__thread \
-    --with-binutils=/cross-tools/bin --with-headers=/tools/include \
-    --cache-file=config.cache</userinput></screen>
-
-<para>The meaning of the configure options:</para>
-
-<variablelist>
-<varlistentry>
-<term><parameter>--enable-kernel=2.6.0</parameter></term>
-<listitem><para>This tells Glibc to compile the library with support
-for 2.6.x Linux kernels.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--with-binutils=/cross-tools/bin</parameter></term>
-<listitem><para>While not required, this switch ensures that there are
-no errors pertaining to which Binutils programs get used during the
-Glibc build.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--with-headers=/tools/include</parameter></term>
-<listitem><para>This tells Glibc to compile itself against the headers recently
-installed to the tools directory, so that it knows exactly what features the
-kernel has and can optimize itself accordingly.</para></listitem>
-</varlistentry>
-
-</variablelist>
-
-<para>Compile the package:</para>
-
-<screen><userinput>make csu/subdir_lib</userinput></screen>
-
-<para>Since we are only creating the glibc startfiles at this time
-we will need to manually copy files over.</para>
-
-<screen><userinput>install -d /tools/lib
-cp -fp csu/crt[i1n].o /tools/lib</userinput></screen>
-
-</sect2>
-
-</sect1>
-

Deleted: branches/cross-lfs/BOOK/cross-tools/x86/glibc.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/x86/glibc.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/x86/glibc.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -1,141 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../../general.ent">
-  %general-entities;
-]>
-<sect1 id="ch-cross-tools-glibc" role="wrap">
-<title>Glibc-&glibc-version;</title>
-<?dbhtml filename="glibc.html"?>
-
-<indexterm zone="ch-cross-tools-glibc">
-<primary sortas="a-Glibc">Glibc</primary>
-<secondary>cross tools</secondary></indexterm>
-
-<sect2 role="package"><title/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
-
-<segmentedlist>
-<segtitle>&buildtime;</segtitle>
-<segtitle>&diskspace;</segtitle>
-<seglistitem><seg>11.8 SBU</seg><seg>800 MB</seg></seglistitem>
-</segmentedlist>
-
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
-
-</sect2>
-
-<sect2 role="installation">
-<title>Installation of Glibc</title>
-
-<para>This package is known to have issues when its default
-optimization flags (including the <parameter>-march</parameter> and
-<parameter>-mcpu</parameter> options) are changed. If any environment
-variables that override default optimizations have been defined, such
-as <envar>CFLAGS</envar> and <envar>CXXFLAGS</envar>,
-unset them when building Glibc.</para>
-
-<para>It should be noted that compiling Glibc in any way other than
-the method suggested in this book puts the stability of the system at
-risk.</para>
-
-<para>The Glibc documentation recommends building Glibc outside of the source
-directory in a dedicated build directory:</para>
-
-<screen><userinput>mkdir ../glibc-build
-cd ../glibc-build</userinput></screen>
-
-<para>For NPTL enabled systems we will need to add the following lines to config.cache</para>
-
-<screen><userinput>echo "libc_cv_forced_unwind=yes" > config.cache
-echo "libc_cv_c_cleanup=yes" >> config.cache</userinput></screen>
-
-<para>Next, prepare Glibc for compilation:</para>
-
-<screen><userinput>CC="${LFS_TARGET}-gcc" AR="${LFS_TARGET}-ar" \
-    RANLIB="${LFS_TARGET}-ranlib" \
-    ../glibc-&glibc-version;/configure --prefix=/tools \
-    --host=${LFS_TARGET} --build=${LFS_HOST} \
-    --without-cvs --disable-profile --enable-add-ons \
-    --with-tls --enable-kernel=2.6.0 --with-__thread \
-    --with-binutils=/cross-tools/bin --with-headers=/tools/include \
-    --cache-file=config.cache</userinput></screen>
-
-<para>The meaning of the configure options:</para>
-
-<variablelist>
-<varlistentry>
-<term><parameter>--disable-profile</parameter></term>
-<listitem><para>This builds the libraries without profiling
-information. Omit this option if profiling on the temporary tools is
-necessary.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--enable-add-ons</parameter></term>
-<listitem><para>This tells Glibc to use the NPTL add-on as its threading 
-library.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--enable-kernel=2.6.0</parameter></term>
-<listitem><para>This tells Glibc to compile the library with support
-for 2.6.x Linux kernels.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--with-binutils=/cross-tools/bin</parameter></term>
-<listitem><para>While not required, this switch ensures that there are
-no errors pertaining to which Binutils programs get used during the
-Glibc build.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--without-gd</parameter></term>
-<listitem><para>This prevents the build of the
-<command>memusagestat</command> program, which insists on linking
-against the host's libraries (libgd, libpng, libz,
-etc.).</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--with-headers=/tools/include</parameter></term>
-<listitem><para>This tells Glibc to compile itself against the headers recently
-installed to the tools directory, so that it knows exactly what features the
-kernel has and can optimize itself accordingly.</para></listitem>
-</varlistentry>
-
-</variablelist>
-
-<para>During this stage the following warning might appear:</para>
-
-<blockquote><screen><computeroutput>configure: WARNING:
-*** These auxiliary programs are missing or 
-*** incompatible versions: msgfmt
-*** some features will be disabled.
-*** Check the INSTALL file for required versions.</computeroutput></screen></blockquote>
-
-<para>The missing or incompatible <command>msgfmt</command> program is
-generally harmless, but it can sometimes cause issues when running the
-test suite. This <command>msgfmt</command> program is part of the
-Gettext package which the host distribution should provide. If
-<command>msgfmt</command> is present but deemed incompatible, upgrade
-the host system's Gettext package or continue without it and see if
-the test suite runs without problems regardless.</para>
-
-<para>Compile the package:</para>
-
-<screen><userinput>make</userinput></screen>
-
-<para>Install the package:</para>
-
-<screen><userinput>make install</userinput></screen>
-
-</sect2>
-
-<sect2 role="content"><title/>
-<para>Details on this package are located in <xref
-linkend="contents-glibc" role="."/></para>
-</sect2>
-
-</sect1>
-

Added: branches/cross-lfs/BOOK/cross-tools/x86_64/flags.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/x86_64/flags.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/x86_64/flags.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+<sect1 id="ch-cross-tools-flags">
+<title>Build Flags</title>
+<?dbhtml filename="flags.html"?>
+
+<para>We will need to setup target specific flags for the compiler
+and linkers.</para>
+
+<screen><userinput>export BUILD32="-m32"
+export BUILD64="-m64"</userinput></screen>
+
+<para>Lets add the build flags to ~/.bashrc to prevent issues if
+we stop and come back later.</para>
+
+<screen><userinput>echo export BUILD32="-m32" >> ~/.bashrc
+echo export BUILD64="-m64" >> ~/.bashrc</userinput></screen>
+
+</sect1>
+

Added: branches/cross-lfs/BOOK/cross-tools/x86_64/gcc-final.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/x86_64/gcc-final.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/x86_64/gcc-final.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+<sect1 id="ch-cross-tools-gcc-final" role="wrap">
+<title>GCC-&gcc-version; - Cross Compiler Final</title>
+<?dbhtml filename="gcc-final.html"?>
+
+<indexterm zone="ch-cross-tools-gcc-final">
+<primary sortas="a-GCC">GCC</primary>
+<secondary>cross tools, final</secondary></indexterm>
+
+<sect2 role="package"><title/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/common/gcc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
+
+<segmentedlist>
+<segtitle>&buildtime;</segtitle>
+<segtitle>&diskspace;</segtitle>
+<seglistitem><seg>4.4 SBU</seg><seg>300 MB</seg></seglistitem>
+</segmentedlist>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/common/gcc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
+
+</sect2>
+
+<sect2 role="installation">
+<title>Installation of GCC Cross Compiler</title>
+
+<para>We will make a couple of essential adjustments to the specs file to point
+to our build environment:</para>
+
+<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-specs-3.patch</userinput></screen>
+
+<para>To make sure that we use the proper syntax for a couple of tools, we apply
+the following patch:</para>
+
+<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-posix-1.patch</userinput></screen>
+
+<para>The following patch ensures that gcc does not search the /usr directory for
+libgcc_s.so when cross-compling:</para>
+
+<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-cross_search_paths-1.patch</userinput></screen>
+
+<para>Now we will need to setup our StartFile Spec to the correct library
+location:</para>
+
+<screen><userinput>echo "
+#undef STARTFILE_PREFIX_SPEC
+#define STARTFILE_PREFIX_SPEC \"/tools/lib/\"" >> gcc/config/linux.h</userinput></screen>
+
+<para>Now we will change gcc's search path to look into /tools only:</para>
+
+<screen><userinput>sed -i "s@\(^CROSS_SYSTEM_HEADER_DIR =\).*@\1 /tools/include at g" \
+  gcc/Makefile.in</userinput></screen>
+
+<para>Finally, disable -B in Makefile.in, so it doesn't pick up the host's header
+files:</para>
+
+<screen><userinput>sed -i '/FLAGS_FOR_TARGET.*\/lib\//s at -B[^ ]*/lib/@@g' configure configure.in</userinput></screen>
+
+<important><para>The above patches and sed's are critical in ensuring a
+successful overall build. Do not forget to apply them.</para></important>
+
+<para>The GCC documentation recommends building GCC outside of the
+source directory in a dedicated build directory:</para>
+
+<screen><userinput>mkdir ../gcc-build
+cd ../gcc-build</userinput></screen>
+
+<para>Prepare GCC for compilation:</para>
+
+<screen><userinput>../gcc-&gcc-version;/configure --prefix=/cross-tools \
+    --target=${LFS_TARGET} --host=${LFS_HOST} \
+    --with-local-prefix=/tools --disable-nls --enable-shared \
+    --enable-languages=c,c++ --enable-__cxa_atexit \
+    --enable-c99 --enable-long-long --enable-threads=posix \
+    --enable-multilib=no</userinput></screen>
+
+<para>The meaning of the configure options:</para>
+
+<variablelist>
+<varlistentry>
+<term><parameter>--with-local-prefix=/tools</parameter></term>
+<listitem><para>The purpose of this switch is to remove <filename class="directory">/usr/local/include</filename>
+from <command>gcc</command>'s include search path. This is not absolutely
+essential, however, it helps to minimize the influence of the host
+system.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--enable-languages=c</parameter></term>
+<listitem><para>This option ensures that only the C compiler is built.
+This option is only needed when you have downloaded and unpacked the
+full GCC tarball, as opposed to just the gcc-core
+tarball.</para></listitem>
+</varlistentry>
+</variablelist>
+
+<para>Continue with compiling the package:</para>
+
+<screen><userinput>make</userinput></screen>
+
+<para>Install the package:</para>
+
+<screen><userinput>make install</userinput></screen>
+
+</sect2>
+
+<sect2 role="content"><title/>
+<para>Details on this package are located in <xref
+linkend="contents-gcc" role="."/></para>
+</sect2>
+
+</sect1>
+

Added: branches/cross-lfs/BOOK/cross-tools/x86_64/gcc-shared.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/x86_64/gcc-shared.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/x86_64/gcc-shared.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+<sect1 id="ch-cross-tools-gcc-shared" role="wrap">
+<title>Cross GCC-&gcc-version; with Shared libgcc</title>
+<?dbhtml filename="gcc-shared.html"?>
+
+<indexterm zone="ch-cross-tools-gcc-shared">
+<primary sortas="a-GCC">GCC</primary>
+<secondary>cross tools, shared libgcc</secondary></indexterm>
+
+<sect2 role="package"><title/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/common/gcc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
+
+<segmentedlist>
+<segtitle>&buildtime;</segtitle>
+<segtitle>&diskspace;</segtitle>
+<seglistitem><seg>4.4 SBU</seg><seg>300 MB</seg></seglistitem>
+</segmentedlist>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/common/gcc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
+
+</sect2>
+
+<sect2 role="installation">
+<title>Installation of Cross GCC with Shared libgcc</title>
+
+<para>We will make a couple of essential adjustments to the specs file to point
+to use our build environment:</para>
+
+<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-specs-3.patch</userinput></screen>
+
+<para>To make sure that we use the proper syntax for a couple of tools, we apply
+the following patch:</para>
+
+<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-posix-1.patch</userinput></screen>
+
+<para>The following patch ensures that gcc does not search the /usr directory for
+libgcc_s.so when cross-compling:</para>
+
+<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-cross_search_paths-1.patch</userinput></screen>
+
+<para>Now we will need to setup our StartFile Spec to the correct library
+location:</para>
+
+<screen><userinput>echo "
+#undef STARTFILE_PREFIX_SPEC
+#define STARTFILE_PREFIX_SPEC \"/tools/lib/\"" >> gcc/config/linux.h</userinput></screen>
+
+<para>Now we will change gcc's search path to look into /tools only:</para>
+
+<screen><userinput>sed -i "s@\(^CROSS_SYSTEM_HEADER_DIR =\).*@\1 /tools/include at g" \
+   gcc/Makefile.in</userinput></screen>
+
+<para>Now we will disable gcc's linking to libc since it doesn't exist yet:</para>
+
+<screen><userinput>sed -i '/^SHLIB_LC = /s at -lc@@' gcc/config/t-slibgcc-elf-ver \
+   gcc/config/t-libunwind</userinput></screen>
+
+<para>Finally, disable -B in Makefile.in, so it doesn't pick up the host's header
+files:</para>
+
+<screen><userinput>sed -i '/FLAGS_FOR_TARGET.*\/lib\//s at -B[^ ]*/lib/@@g' configure configure.in</userinput></screen>
+
+<important><para>The above patches and sed's are critical in ensuring a
+successful overall build. Do not forget to apply them.</para></important>
+
+<para>The GCC documentation recommends building GCC outside of the
+source directory in a dedicated build directory:</para>
+
+<screen><userinput>mkdir ../gcc-build
+cd ../gcc-build</userinput></screen>
+
+<para>Prepare GCC for compilation:</para>
+
+<screen><userinput>../gcc-&gcc-version;/configure --prefix=/cross-tools \
+    --host=${LFS_HOST} --target=${LFS_TARGET} \
+    --with-local-prefix=/tools --disable-nls --enable-shared \
+    --enable-multilib=no --enable-languages=c</userinput></screen>
+
+<para>The meaning of the configure options:</para>
+
+<variablelist>
+<varlistentry>
+<term><parameter>--with-local-prefix=/tools</parameter></term>
+<listitem><para>The purpose of this switch is to remove <filename class="directory">/usr/local/include</filename>
+from <command>gcc</command>'s include search path. This is not absolutely
+essential, however, it helps to minimize the influence of the host
+system.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--enable-languages=c</parameter></term>
+<listitem><para>This option ensures that only the C compiler is built.
+This option is only needed when you have downloaded and unpacked the
+full GCC tarball, as opposed to just the gcc-core
+tarball.</para></listitem>
+</varlistentry>
+</variablelist>
+
+<para>Continue with compiling the package:</para>
+
+<screen><userinput>make all-gcc</userinput></screen>
+
+<para>Install the package:</para>
+
+<screen><userinput>make install-gcc</userinput></screen>
+
+</sect2>
+
+<sect2 role="content"><title/>
+<para>Details on this package are located in <xref
+linkend="contents-gcc" role="."/></para>
+</sect2>
+
+</sect1>
+

Added: branches/cross-lfs/BOOK/cross-tools/x86_64/gcc-static.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/x86_64/gcc-static.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/x86_64/gcc-static.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+<sect1 id="ch-cross-tools-gcc-static" role="wrap">
+<title>Cross GCC-&gcc-version; - Static libgcc</title>
+<?dbhtml filename="gcc-static.html"?>
+
+<indexterm zone="ch-cross-tools-gcc-static">
+<primary sortas="a-GCC">GCC</primary>
+<secondary>cross tools, static libgcc</secondary></indexterm>
+
+<sect2 role="package"><title/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/common/gcc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
+
+<segmentedlist>
+<segtitle>&buildtime;</segtitle>
+<segtitle>&diskspace;</segtitle>
+<seglistitem><seg>4.4 SBU</seg><seg>300 MB</seg></seglistitem>
+</segmentedlist>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/common/gcc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
+
+</sect2>
+
+<sect2 role="installation">
+<title>Installation of Cross GCC Compiler with Static libgcc</title>
+
+<para>We will make a couple of essential adjustments to the specs file to point
+to use our build environment:</para>
+
+<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-specs-3.patch</userinput></screen>
+
+<para>To make sure that we use the proper syntax for a couple of tools, we apply
+the following patch:</para>
+
+<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-posix-1.patch</userinput></screen>
+
+
+<para>Now we will need to setup our StartFile Spec to the correct library
+location:</para>
+
+<screen><userinput>echo "
+#undef STARTFILE_PREFIX_SPEC
+#define STARTFILE_PREFIX_SPEC \"/tools/lib/\"" >> gcc/config/linux.h</userinput></screen>
+
+<para>Now we will change gcc's search path to look into /tools only:</para>
+
+<screen><userinput>sed -i "s@\(^CROSS_SYSTEM_HEADER_DIR =\).*@\1 /tools/include at g" \
+   gcc/Makefile.in</userinput></screen>
+
+<important><para>The above patches and sed's are critical in ensuring a
+successful overall build. Do not forget to apply them.</para></important>
+
+<para>The GCC documentation recommends building GCC outside of the
+source directory in a dedicated build directory:</para>
+
+<screen><userinput>mkdir ../gcc-build
+cd ../gcc-build</userinput></screen>
+
+<para>Prepare GCC for compilation:</para>
+
+<screen><userinput>../gcc-&gcc-version;/configure --prefix=/cross-tools \
+    --host=${LFS_HOST} --target=${LFS_TARGET} \
+    --with-local-prefix=/tools --disable-nls --disable-shared \
+    --enable-multilib=no --enable-languages=c</userinput></screen>
+
+<para>The meaning of the configure options:</para>
+
+<variablelist>
+<varlistentry>
+<term><parameter>--with-local-prefix=/tools</parameter></term>
+<listitem><para>The purpose of this switch is to remove <filename class="directory">/usr/local/include</filename>
+from <command>gcc</command>'s include search path. This is not absolutely
+essential, however, it helps to minimize the influence of the host
+system.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--enable-languages=c</parameter></term>
+<listitem><para>This option ensures that only the C compiler is built.
+This option is only needed when you have downloaded and unpacked the
+full GCC tarball, as opposed to just the gcc-core
+tarball.</para></listitem>
+</varlistentry>
+</variablelist>
+
+<para>Continue with compiling the package:</para>
+
+<screen><userinput>make all-gcc</userinput></screen>
+
+<para>Install the package:</para>
+
+<screen><userinput>make install-gcc</userinput></screen>
+
+</sect2>
+
+<sect2 role="content"><title/>
+<para>Details on this package are located in <xref
+linkend="contents-gcc" role="."/></para>
+</sect2>
+
+</sect1>
+

Added: branches/cross-lfs/BOOK/cross-tools/x86_64/glibc-headers.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/x86_64/glibc-headers.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/x86_64/glibc-headers.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+<sect1 id="ch-cross-tools-glibc-headers" role="wrap">
+<title>Glibc-&glibc-version; Headers</title>
+<?dbhtml filename="glibc-headers.html"?>
+
+<indexterm zone="ch-cross-tools-glibc-headers">
+<primary sortas="a-Glibc">Glibc Headers</primary>
+<secondary>cross tools, headers</secondary></indexterm>
+
+<sect2 role="package"><title/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
+
+<segmentedlist>
+<segtitle>&buildtime;</segtitle>
+<segtitle>&diskspace;</segtitle>
+<seglistitem><seg>0.1 SBU</seg><seg>1 MB</seg></seglistitem>
+</segmentedlist>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
+
+</sect2>
+
+<sect2 role="installation">
+<title>Installation of Glibc Headers</title>
+
+<para>The Glibc documentation recommends building Glibc outside of the source
+directory in a dedicated build directory:</para>
+
+<screen><userinput>mkdir ../glibc-build
+cd ../glibc-build</userinput></screen>
+
+<para>Next, prepare Glibc for compilation:</para>
+
+<screen><userinput>CC="${CC-gcc}" ../glibc-&glibc-version;/configure --prefix=/tools \
+    --host=${LFS_TARGET} --build=${LFS_HOST} --without-cvs \
+    --disable-sanity-checks --enable-kernel=2.6.0 \
+    --with-headers=/tools/include \
+    --with-binutils=/cross-tools/${LFS_TARGET}/bin</userinput></screen>
+
+<para>Now  Install the package:</para>
+
+<screen><userinput>make install-headers</userinput></screen>
+
+<para>Next, we will copy the header files we need:</para>
+
+<para>First we will copy common files over to /tools/include:</para>
+
+<screen><userinput>install -d /tools/include/bits
+cp bits/stdio_lim.h /tools/include/bits</userinput></screen>
+
+<para>Now we will create a blank stub file:</para>
+
+<screen><userinput>touch /tools/include/gnu/stubs.h</userinput></screen>
+
+<para>For NPTL we use the following commands:</para>
+
+<screen><userinput>cp ../glibc-&glibc-version;/nptl/sysdeps/pthread/pthread.h /tools/include/</userinput></screen>
+
+<para>Now we copy the architecture specific headers over:</para>
+<screen><userinput>cp ../glibc-&glibc-version;/nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h /tools/include/bits/</userinput></screen>
+
+</sect2>
+
+</sect1>

Added: branches/cross-lfs/BOOK/cross-tools/x86_64/glibc-startfiles.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/x86_64/glibc-startfiles.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/x86_64/glibc-startfiles.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+<sect1 id="ch-cross-tools-glibc-startfiles" role="wrap">
+<title>Glibc-&glibc-version; Startfiles</title>
+<?dbhtml filename="glibc-startfiles.html"?>
+
+<indexterm zone="ch-cross-tools-glibc-startfiles">
+<primary sortas="a-Glibc">Glibc</primary>
+<secondary>cross tools, startfiles</secondary></indexterm>
+
+<sect2 role="package"><title/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
+
+<segmentedlist>
+<segtitle>&buildtime;</segtitle>
+<segtitle>&diskspace;</segtitle>
+<seglistitem><seg>11.8 SBU</seg><seg>800 MB</seg></seglistitem>
+</segmentedlist>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
+
+</sect2>
+
+<sect2 role="installation">
+<title>Installation of Glibc Startfiles</title>
+
+<para>The Glibc documentation recommends building Glibc outside of the source
+directory in a dedicated build directory:</para>
+
+<screen><userinput>mkdir ../glibc-build
+cd ../glibc-build</userinput></screen>
+
+<para>Next, prepare Glibc for compilation:</para>
+
+<para>For NPTL enabled systems we will need to add the following lines to config.cache</para>
+
+<screen><userinput>echo "libc_cv_forced_unwind=yes" > config.cache
+echo "libc_cv_c_cleanup=yes" >> config.cache</userinput></screen>
+
+<para>To create NPTL Startfiles use the following configure line:</para>
+
+<screen><userinput>CC="${LFS_TARGET}-gcc ${BUILD32}" AR="${LFS_TARGET}-ar" \
+    RANLIB="${LFS_TARGET}-ranlib" \
+    ../glibc-&glibc-version;/configure --prefix=/tools \
+    --host=${LFS_TARGET} --build=${LFS_HOST} \
+    --without-cvs --disable-profile --enable-add-ons \
+    --with-tls --enable-kernel=2.6.0 --with-__thread \
+    --with-binutils=/cross-tools/bin --with-headers=/tools/include \
+    --cache-file=config.cache</userinput></screen>
+
+<para>The meaning of the configure options:</para>
+
+<variablelist>
+<varlistentry>
+<term><parameter>--enable-kernel=2.6.0</parameter></term>
+<listitem><para>This tells Glibc to compile the library with support
+for 2.6.x Linux kernels.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--with-binutils=/cross-tools/bin</parameter></term>
+<listitem><para>While not required, this switch ensures that there are
+no errors pertaining to which Binutils programs get used during the
+Glibc build.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--with-headers=/tools/include</parameter></term>
+<listitem><para>This tells Glibc to compile itself against the headers recently
+installed to the tools directory, so that it knows exactly what features the
+kernel has and can optimize itself accordingly.</para></listitem>
+</varlistentry>
+
+</variablelist>
+
+<para>Compile the package:</para>
+
+<screen><userinput>make csu/subdir_lib</userinput></screen>
+
+<para>Since we are only creating the glibc startfiles at this time
+we will need to manually copy files over.</para>
+
+<screen><userinput>install -d /tools/lib
+cp -fp csu/crt[i1n].o /tools/lib</userinput></screen>
+
+</sect2>
+
+</sect1>
+

Added: branches/cross-lfs/BOOK/cross-tools/x86_64/glibc.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/x86_64/glibc.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/x86_64/glibc.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+<sect1 id="ch-cross-tools-glibc" role="wrap">
+<title>Glibc-&glibc-version;</title>
+<?dbhtml filename="glibc.html"?>
+
+<indexterm zone="ch-cross-tools-glibc">
+<primary sortas="a-Glibc">Glibc</primary>
+<secondary>cross tools</secondary></indexterm>
+
+<sect2 role="package"><title/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
+
+<segmentedlist>
+<segtitle>&buildtime;</segtitle>
+<segtitle>&diskspace;</segtitle>
+<seglistitem><seg>11.8 SBU</seg><seg>800 MB</seg></seglistitem>
+</segmentedlist>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
+
+</sect2>
+
+<sect2 role="installation">
+<title>Installation of Glibc</title>
+
+<para>This package is known to have issues when its default
+optimization flags (including the <parameter>-march</parameter> and
+<parameter>-mcpu</parameter> options) are changed. If any environment
+variables that override default optimizations have been defined, such
+as <envar>CFLAGS</envar> and <envar>CXXFLAGS</envar>,
+unset them when building Glibc.</para>
+
+<para>It should be noted that compiling Glibc in any way other than
+the method suggested in this book puts the stability of the system at
+risk.</para>
+
+<para>The Glibc documentation recommends building Glibc outside of the source
+directory in a dedicated build directory:</para>
+
+<screen><userinput>mkdir ../glibc-build
+cd ../glibc-build</userinput></screen>
+
+<para>For NPTL enabled systems we will need to add the following lines to config.cache</para>
+
+<screen><userinput>echo "libc_cv_forced_unwind=yes" > config.cache
+echo "libc_cv_c_cleanup=yes" >> config.cache</userinput></screen>
+
+<para>Next, prepare Glibc for compilation:</para>
+
+<screen><userinput>CC="${LFS_TARGET}-gcc ${BUILD32}" AR="${LFS_TARGET}-ar" \
+    RANLIB="${LFS_TARGET}-ranlib" \
+    ../glibc-&glibc-version;/configure --prefix=/tools \
+    --host=${LFS_TARGET} --build=${LFS_HOST} \
+    --without-cvs --disable-profile --enable-add-ons \
+    --with-tls --enable-kernel=2.6.0 --with-__thread \
+    --with-binutils=/cross-tools/bin --with-headers=/tools/include \
+    --cache-file=config.cache</userinput></screen>
+
+<para>The meaning of the configure options:</para>
+
+<variablelist>
+<varlistentry>
+<term><parameter>--disable-profile</parameter></term>
+<listitem><para>This builds the libraries without profiling
+information. Omit this option if profiling on the temporary tools is
+necessary.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--enable-add-ons</parameter></term>
+<listitem><para>This tells Glibc to use the NPTL add-on as its threading 
+library.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--enable-kernel=2.6.0</parameter></term>
+<listitem><para>This tells Glibc to compile the library with support
+for 2.6.x Linux kernels.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--with-binutils=/cross-tools/bin</parameter></term>
+<listitem><para>While not required, this switch ensures that there are
+no errors pertaining to which Binutils programs get used during the
+Glibc build.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--without-gd</parameter></term>
+<listitem><para>This prevents the build of the
+<command>memusagestat</command> program, which insists on linking
+against the host's libraries (libgd, libpng, libz,
+etc.).</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><parameter>--with-headers=/tools/include</parameter></term>
+<listitem><para>This tells Glibc to compile itself against the headers recently
+installed to the tools directory, so that it knows exactly what features the
+kernel has and can optimize itself accordingly.</para></listitem>
+</varlistentry>
+
+</variablelist>
+
+<para>During this stage the following warning might appear:</para>
+
+<blockquote><screen><computeroutput>configure: WARNING:
+*** These auxiliary programs are missing or 
+*** incompatible versions: msgfmt
+*** some features will be disabled.
+*** Check the INSTALL file for required versions.</computeroutput></screen></blockquote>
+
+<para>The missing or incompatible <command>msgfmt</command> program is
+generally harmless, but it can sometimes cause issues when running the
+test suite. This <command>msgfmt</command> program is part of the
+Gettext package which the host distribution should provide. If
+<command>msgfmt</command> is present but deemed incompatible, upgrade
+the host system's Gettext package or continue without it and see if
+the test suite runs without problems regardless.</para>
+
+<para>Compile the package:</para>
+
+<screen><userinput>make</userinput></screen>
+
+<para>Install the package:</para>
+
+<screen><userinput>make install</userinput></screen>
+
+</sect2>
+
+<sect2 role="content"><title/>
+<para>Details on this package are located in <xref
+linkend="contents-glibc" role="."/></para>
+</sect2>
+
+</sect1>
+

Added: branches/cross-lfs/BOOK/cross-tools/x86_64/linux-libc-headers.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/x86_64/linux-libc-headers.xml	2005-05-12 20:08:15 UTC (rev 5313)
+++ branches/cross-lfs/BOOK/cross-tools/x86_64/linux-libc-headers.xml	2005-05-12 20:10:28 UTC (rev 5314)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+<sect1 id="ch-cross-tools-linux-libc-headers" role="wrap" arch="x86">
+<title>Linux-Libc-Headers-&linux-libc-headers-version;</title>
+<?dbhtml filename="linux-libc-headers.html"?>
+
+<indexterm zone="ch-cross-tools-linux-libc-headers">
+<primary sortas="a-Linux-Libc-Headers">Linux-Libc-Headers</primary>
+<secondary>cross tools</secondary></indexterm>
+
+<sect2 role="package"><title/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+	href="../../final-system/x86/linux-libc-headers.xml"
+	xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
+
+<segmentedlist>
+<segtitle>&buildtime;</segtitle>
+<segtitle>&diskspace;</segtitle>
+<seglistitem><seg>0.1 SBU</seg><seg>22 MB</seg></seglistitem>
+</segmentedlist>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+	href="../../final-system/x86/linux-libc-headers.xml"
+	xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
+
+</sect2>
+
+<sect2 role="installation">
+<title>Installation of Linux-Libc-Headers</title>
+
+<para>Install the header files:</para>
+
+<screen><userinput>install -d /tools/include
+cp -R include/asm-i386 /tools/include/asm
+cp -R include/linux /tools/include</userinput></screen>
+
+</sect2>
+
+<sect2 role="content"><title/>
+<para>Details on this package are located in <xref
+linkend="contents-linux-libc-headers" role="."/></para>
+</sect2>
+
+</sect1>
+




More information about the lfs-book mailing list