aboutsummaryrefslogtreecommitdiffstats
path: root/chapter05
diff options
context:
space:
mode:
authorXi Ruoyao <xry111@xry111.site>2023-12-31 02:33:59 +0800
committerXi Ruoyao <xry111@xry111.site>2023-12-31 02:37:07 +0800
commit6fec3f51e71f36219829eddd63b1cf6e11bcd447 (patch)
tree751099728fbc5af33556e202f8465fcb907d4ed5 /chapter05
parent8b4fb1245dcde0370bb84c2653e3e9bb01cbae87 (diff)
binutils: Add --enable-default-hash-style=gnu for configure (#5401)xry111/update-20231231
Diffstat (limited to 'chapter05')
-rw-r--r--chapter05/binutils-pass1.xml19
1 files changed, 18 insertions, 1 deletions
diff --git a/chapter05/binutils-pass1.xml b/chapter05/binutils-pass1.xml
index 65e8dd2ae..c3bf1f117 100644
--- a/chapter05/binutils-pass1.xml
+++ b/chapter05/binutils-pass1.xml
@@ -75,7 +75,8 @@ cd build</userinput></screen>
--target=$LFS_TGT \
--disable-nls \
--enable-gprofng=no \
- --disable-werror</userinput></screen>
+ --disable-werror \
+ --enable-default-hash-style=gnu</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
@@ -132,6 +133,22 @@ cd build</userinput></screen>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><parameter>--enable-default-hash-style=gnu</parameter></term>
+ <listitem>
+ <para>By default, the linker would generate both the GNU-style
+ hash table and the classic ELF hash table for shared libraries and
+ dynamically linked executables. The hash tables are only intended
+ for a dynamic linker to perform symbol lookup. On LFS the dynamic
+ linker (provided by the Glibc package) will always use the
+ GNU-style hash table which is faster to query. So the classic
+ ELF hash table is completely useless. This makes the the linker
+ only generate the GNU-style hash table by default, so we can avoid
+ wasting time to generate the classic ELF hash table when we build
+ the packages, or wasting disk space to store it.</para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
<para>Continue with compiling the package:</para>