diff options
Diffstat (limited to 'chapter06/glibc.xml')
-rw-r--r-- | chapter06/glibc.xml | 42 |
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 <linux/sockios.h>' \ 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> |