aboutsummaryrefslogtreecommitdiffstats
path: root/chapter05/glibc.xml
diff options
context:
space:
mode:
Diffstat (limited to 'chapter05/glibc.xml')
-rw-r--r--chapter05/glibc.xml44
1 files changed, 25 insertions, 19 deletions
diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml
index 92d2f3ad8..48c22ea07 100644
--- a/chapter05/glibc.xml
+++ b/chapter05/glibc.xml
@@ -39,38 +39,44 @@ cd ../glibc-build</userinput></screen>
<para>Next, prepare Glibc for compilation:</para>
-<screen><userinput>../glibc-&glibc-version;-20031202/configure --prefix=/tools \
- --disable-profile --enable-add-ons=linuxthreads \
- --with-binutils=/tools/bin --with-headers=/tools/include \
- --without-gd --without-cvs</userinput></screen>
+<screen><userinput>../glibc-&glibc-version;/configure --prefix=/tools \
+ --disable-profile --enable-add-ons=nptl --with-tls \
+ --with-binutils=/tools/bin --without-gd --without-cvs \
+ --with-headers=/tools/glibc-kernheaders</userinput></screen>
<para>The meaning of the configure options:</para>
<itemizedlist>
-<listitem><para><userinput>--disable-profile</userinput>: This
-builds the libraries without profiling information. Omit this option if you
-plan to do profiling on the temporary tools.</para></listitem>
+<listitem><para><userinput>--disable-profile</userinput>: This builds the
+libraries without profiling information. Omit this option if you plan to do
+profiling on the temporary tools.</para></listitem>
-<listitem><para><userinput>--enable-add-ons=linuxthreads</userinput>: This
-tells Glibc to use the Linuxthreads add-on as its threading
-library.</para></listitem>
+<listitem><para><userinput>--enable-add-ons=nptl</userinput>: This
+tells Glibc to use the NPTL add-on as its threading library.</para></listitem>
-<listitem><para><userinput>--with-binutils=/tools/bin</userinput> and
-<userinput>--with-headers=/tools/include</userinput>: Strictly speaking
-these switches are not required. But they ensure nothing can go wrong with
-regard to what kernel headers and Binutils programs get used during the
-Glibc build.</para></listitem>
+<listitem><para><userinput>--with-tls</userinput>: This tells Glibc to include
+support for TLS (thread-local storage). This is required for NPTL to work.
+</para></listitem>
-<listitem><para><userinput>--without-gd</userinput>: This prevents
-the build of the <command>memusagestat</command> program, which
-strangely enough insists on linking against the host's libraries (libgd,
-libpng, libz, and so forth).</para></listitem>
+<listitem><para><userinput>--with-binutils=/tools/bin</userinput>: Strictly
+speaking this switch is not required. But it does ensure nothing can go wrong
+with regard to what Binutils programs get used during the Glibc build.</para></listitem>
+
+<listitem><para><userinput>--without-gd</userinput>: This prevents the build
+of the <command>memusagestat</command> program, which strangely enough insists
+on linking against the host's libraries (libgd, libpng, libz, and so forth).
+</para></listitem>
<listitem><para><userinput>--without-cvs</userinput>: This is meant to prevent
the Makefiles from attempting automatic CVS checkouts when using a CVS
snapshot. But it's not actually needed these days. We use it because it
suppresses an annoying but harmless warning about a missing
<command>autoconf</command> program.</para></listitem>
+
+<listitem><para><userinput>--with-headers=/tools/glibc-kernheaders</userinput>:
+This tells Glibc to compile against the <quote>raw</quote> kernel headers, so
+that it knows exactly what features the kernel has, and can optimize itself
+accordingly. Not strictly necessary, but nice to have.</para></listitem>
</itemizedlist>
<para>During this stage you might see the following warning:</para>