[lfs] branch trunk updated: glibc: Drop --with-headers in pass 1

"Git Owner" ([email protected] via lfs-book Mailing List) <[email protected]>
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&mdash;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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.