| Newsgroups |
gmane.linux.lfs.book |
| Message-ID |
<174308223447.30721.946314126463517003@rivendell.linuxfromscratch.org> |
This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch trunk
in repository lfs.
The following commit(s) were added to refs/heads/trunk by this push:
new 7e4fd2e19 glibc: Drop --with-headers in pass 1
7e4fd2e19 is described below
commit 7e4fd2e198b3811c3df3b61b9d27e2fe84e27969
Author: Xi Ruoyao <[email protected]>
AuthorDate: Thu Mar 27 20:56:55 2025 +0800
glibc: Drop --with-headers in pass 1
I cannot see why this is ever needed. The default is "the compiler
default" which should be correct as the compiler has been configured
--with-sysroot. And the explanation for this switch is just repeating a
common misunderstanding. In fact glibc **never** attempts to figure out
what features the kernel has from the headers. Instead it depends on
the kernel-features.h files in the source tree and the --with-kernel
value to determine the kernel features that it can rely on.
---
chapter05/glibc.xml | 11 -----------
part3intro/toolchaintechnotes.xml | 26 +++++++++-----------------
2 files changed, 9 insertions(+), 28 deletions(-)
diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml
index 2dccf93bf..2c7de998c 100644
--- a/chapter05/glibc.xml
+++ b/chapter05/glibc.xml
@@ -91,7 +91,6 @@ cd build</userinput></screen>
--host=$LFS_TGT \
--build=$(../scripts/config.guess) \
--enable-kernel=&min-kernel; \
- --with-headers=$LFS/usr/include \
--disable-nscd \
libc_cv_slibdir=/usr/lib</userinput></screen>
@@ -116,16 +115,6 @@ cd build</userinput></screen>
</listitem>
</varlistentry>
- <varlistentry>
- <term><parameter>--with-headers=$LFS/usr/include</parameter></term>
- <listitem>
- <para>This tells Glibc to compile itself against the headers
- recently installed to the $LFS/usr/include directory, so that
- it knows exactly what features the kernel has and can optimize
- itself accordingly.</para>
- </listitem>
- </varlistentry>
-
<varlistentry>
<term><parameter>libc_cv_slibdir=/usr/lib</parameter></term>
<listitem>
diff --git a/part3intro/toolchaintechnotes.xml b/part3intro/toolchaintechnotes.xml
index 616af0bd9..7afb2d9ac 100644
--- a/part3intro/toolchaintechnotes.xml
+++ b/part3intro/toolchaintechnotes.xml
@@ -439,27 +439,19 @@ checking what linker to use... /mnt/lfs/tools/i686-lfs-linux-gnu/bin/ld</compute
standard C library (glibc) to interface with features that the Linux
kernel will provide.</para>
- <para>Next comes glibc. The most important
- considerations for building glibc are the compiler, binary tools, and
- kernel headers. The compiler and binary tools are not an issue
- as <parameter>--host=$LFS_TGT</parameter> makes the build system to use
- those tools prefixed with <literal>$LFS_TGT-</literal> as we've
- discussed. The kernel headers can
- be a bit more complicated. Therefore, we take no risks and use
- the available configure switch to enforce the correct selection. After
- the run of <command>configure</command>, check the contents of the
- <filename>config.make</filename> file in the <filename
- class="directory">build</filename> directory for all important details.
- These items highlight an important aspect of the glibc
- package—it is very self-sufficient in terms of its build machinery,
- and generally does not rely on toolchain defaults.</para>
+ <para>Next comes glibc. This is the first package that we cross-compile.
+ We use the <parameter>--host=$LFS_TGT</parameter> option to make
+ the build system to use those tools prefixed with
+ <literal>$LFS_TGT-</literal>, and the
+ <parameter>--build=$(../scripts/config.guess)</parameter> option to
+ enable <quote>the cross-compilation mode</quote> as we've discussed.
+ The <envar>DESTDIR</envar> variable is used to force installation into
+ the LFS file system.</para>
<para>As mentioned above, the standard C++ library is compiled next, followed in
<xref linkend="chapter-temporary-tools"/> by other programs that must
be cross-compiled to break circular dependencies at build time.
- The install step of all those packages uses the
- <envar>DESTDIR</envar> variable to force installation
- in the LFS filesystem.</para>
+ The steps for those packages are similar to the steps for glibc.</para>
<para>At the end of <xref linkend="chapter-temporary-tools"/> the native
LFS compiler is installed. First binutils-pass2 is built,
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
--
http://lists.linuxfromscratch.org/sympa/info/lfs-book
Unsubscribe: See the above information page