aboutsummaryrefslogtreecommitdiffstats
path: root/chapter05
diff options
context:
space:
mode:
authorXi Ruoyao <xry111@xry111.site>2024-01-01 05:57:54 +0800
committerXi Ruoyao <xry111@xry111.site>2024-01-01 05:57:54 +0800
commit257686627d14b94ee248198e04b431f9567f4d72 (patch)
tree299d0f6655636bc4a814bb82d7c56dd6e767750f /chapter05
parent00de2694ce852e9b042eaa3225e0c079978e048f (diff)
parent6fec3f51e71f36219829eddd63b1cf6e11bcd447 (diff)
Merge remote-tracking branch 'origin/trunk' into xry111/arm64xry111/arm64
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>