aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/glibc.xml
diff options
context:
space:
mode:
Diffstat (limited to 'chapter06/glibc.xml')
-rw-r--r--chapter06/glibc.xml42
1 files changed, 18 insertions, 24 deletions
diff --git a/chapter06/glibc.xml b/chapter06/glibc.xml
index d1e8086b2..a422c8d3c 100644
--- a/chapter06/glibc.xml
+++ b/chapter06/glibc.xml
@@ -43,13 +43,6 @@
<sect2 role="installation">
<title>Installation of Glibc</title>
- <note><para>The Glibc build system is self-contained and will install
- perfectly, even though the compiler specs file and linker are still
- pointing to <filename class="directory">/tools</filename>. The specs
- and linker cannot be adjusted before the Glibc install because the
- Glibc autoconf tests would give false results and defeat the goal
- of achieving a clean build.</para></note>
-
<para>Some of the Glibc programs use the non-FHS compliant
<filename class="directory">/var/db</filename> directory to store
their runtime data. Apply the following patch to make such programs
@@ -66,7 +59,7 @@
<screen><userinput remap="pre">sed -i '/asm.socket.h/a# include &lt;linux/sockios.h&gt;' \
sysdeps/unix/sysv/linux/bits/socket.h</userinput></screen>
--->
+=== already done ===
<para>Create a symlink for LSB
compliance. Additionally, for x86_64, create a compatibility symlink
required for the dynamic loader to function correctly:</para>
@@ -78,7 +71,7 @@
ln -sfv ../lib/ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so.3
;;
esac</userinput></screen>
-<!--
+
<para>Remove a file that may be left over from a previous build attempt:
</para>
@@ -92,23 +85,25 @@ cd build</userinput></screen>
<para>Prepare Glibc for compilation:</para>
-<screen><userinput remap="configure">CC="gcc -ffile-prefix-map=/tools=/usr" \
-../configure --prefix=/usr \
- --disable-werror \
- --enable-kernel=&min-kernel; \
- --enable-stack-protector=strong \
- --with-headers=/usr/include \
+<screen><userinput remap="configure">../configure --prefix=/usr \
+ --disable-werror \
+ --enable-kernel=&min-kernel; \
+ --enable-stack-protector=strong \
+ --with-headers=/usr/include \
libc_cv_slibdir=/lib</userinput></screen>
-
- <variablelist>
+ <!-- WIP -->
+ <variablelist>
<title>The meaning of the options and new configure parameters:</title>
<varlistentry>
- <term><parameter>CC="gcc -ffile-prefix-map=/tools=/usr"</parameter></term>
+ <term><parameter>CC="gcc -ffile-prefix-map=$LFS_DIR=$DIR"</parameter></term>
<listitem>
- <para>Make GCC record any references to files in /tools in result
- of the compilation as if the files resided in /usr. This avoids
- introduction of invalid paths in debugging symbols.</para>
+ <para>Make GCC record any references to files in <filename
+ class="directory">/usr/lib/gcc/x86_64-lfs-linux-gnu</filename>
+ in result of the compilation as if the files resided in <filename
+ class="directory">/usr/lib/gcc/x86_64-pc-linux-gnu</filename>.
+ This avoids introduction of invalid paths in debugging
+ symbols.</para>
</listitem>
</varlistentry>
@@ -128,13 +123,12 @@ cd build</userinput></screen>
smashing attacks.</para>
</listitem>
</varlistentry>
-
+<!-- do we need this one? -->
<varlistentry>
<term><parameter>--with-headers=/usr/include</parameter></term>
<listitem>
<para>This option tells the build system where to find the
- kernel API headers. By default, those headers are sought in
- <filename class="directory">/tools/include</filename>.</para>
+ kernel API headers.</para>
</listitem>
</varlistentry>