Index: chapter08/binutils.xml
===================================================================
--- chapter08/binutils.xml	(revision 984e1f10689e4ec5486a586669b45b8ed72a79be)
+++ chapter08/binutils.xml	(revision a77130cb0b6fb3f69bd2155c3e7ff846a3d12b33)
@@ -52,5 +52,4 @@
 <screen><userinput remap="configure">../configure --prefix=/usr       \
              --sysconfdir=/etc   \
-             --enable-gold       \
              --enable-ld=default \
              --enable-plugins    \
@@ -66,12 +65,4 @@
 
       <varlistentry>
-        <term><parameter>--enable-gold</parameter></term>
-        <listitem>
-          <para>Build the gold linker and install it as ld.gold (alongside the
-          default linker).</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
         <term><parameter>--enable-ld=default</parameter></term>
         <listitem>
@@ -111,6 +102,6 @@
           ultimately be located) is set to <filename
           class="directory">$(exec_prefix)/$(target_alias)</filename>. For
-          example, x86_64 machines would expand that to <filename
-          class="directory">/usr/x86_64-pc-linux-gnu</filename>. Because this is
+          example, 64-bit LoongArch machines would expand that to <filename
+          class="directory">/usr/loongarch64-unknown-linux-gnu</filename>. Because this is
           a custom system, this target-specific directory in <filename
           class="directory">/usr</filename> is not required. <filename
@@ -137,8 +128,4 @@
 <screen><userinput remap="test">grep '^FAIL:' $(find -name '*.log')</userinput></screen>
 
-    <para>Twelve tests fail in the gold test suite when the
-    <option>--enable-default-pie</option> and
-    <option>--enable-default-ssp</option> options are passed to GCC.</para>
-
  <!--    <para>Three tests in the gprofng suite are also known to fail.</para>-->
 
@@ -162,5 +149,5 @@
 
       <seglistitem>
-        <seg>addr2line, ar, as, c++filt, dwp, elfedit, gprof, gprofng, ld, ld.bfd, ld.gold, nm,
+        <seg>addr2line, ar, as, c++filt, dwp, elfedit, gprof, gprofng, ld, ld.bfd, nm,
         objcopy, objdump, ranlib, readelf, size, strings, and strip</seg>
         <seg>libbfd.so, libctf.so, libctf-nobfd.so, libgprofng.so,
@@ -268,15 +255,4 @@
           <indexterm zone="ch-system-binutils ld">
             <primary sortas="b-ld">ld</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="ld.gold">
-        <term><command>ld.gold</command></term>
-        <listitem>
-          <para>A cut down version of ld that only supports the
-          elf object file format</para>
-          <indexterm zone="ch-system-binutils ld.gold">
-            <primary sortas="b-ld.gold">ld.gold</primary>
           </indexterm>
         </listitem>
Index: chapter08/check.xml
===================================================================
--- chapter08/check.xml	(revision 984e1f10689e4ec5486a586669b45b8ed72a79be)
+++ chapter08/check.xml	(revision a77130cb0b6fb3f69bd2155c3e7ff846a3d12b33)
@@ -40,4 +40,8 @@
   <sect2 role="installation">
     <title>Installation of Check</title>
+
+    &update-config-text;
+
+<screen><userinput remap="pre">tar &update-config-arg;</userinput></screen>
 
     <para>Prepare Check for compilation:</para>
Index: chapter08/expect.xml
===================================================================
--- chapter08/expect.xml	(revision 984e1f10689e4ec5486a586669b45b8ed72a79be)
+++ chapter08/expect.xml	(revision a77130cb0b6fb3f69bd2155c3e7ff846a3d12b33)
@@ -67,4 +67,8 @@
     GDBM, and of course Expect itself) will fail catastrophically, and other
     subtle breakages may also happen.</para>
+
+    &update-config-text;
+
+<screen><userinput remap="pre">tar -C tclconfig &update-config-arg;</userinput></screen>
 
     <para>Now, make some changes to allow the package with gcc-14.1 or later:</para>
Index: chapter08/flex.xml
===================================================================
--- chapter08/flex.xml	(revision 984e1f10689e4ec5486a586669b45b8ed72a79be)
+++ chapter08/flex.xml	(revision a77130cb0b6fb3f69bd2155c3e7ff846a3d12b33)
@@ -51,4 +51,8 @@
     This is not present, so we use an environment variable to skip this process.
     Now, prepare Flex for compilation:</para> -->
+
+    &update-config-text;
+
+<screen><userinput remap="pre">tar -C build-aux &update-config-arg;</userinput></screen>
 
     <para>Prepare Flex for compilation:</para>
Index: chapter08/gcc.xml
===================================================================
--- chapter08/gcc.xml	(revision 984e1f10689e4ec5486a586669b45b8ed72a79be)
+++ chapter08/gcc.xml	(revision a77130cb0b6fb3f69bd2155c3e7ff846a3d12b33)
@@ -42,13 +42,9 @@
     <title>Installation of GCC</title>
 
-    <para>If building on x86_64, change the default directory name for 64-bit
-    libraries to <quote>lib</quote>:</para>
-
-<screen><userinput remap="pre">case $(uname -m) in
-  x86_64)
-    sed -e '/m64=/s/lib64/lib/' \
-        -i.orig gcc/config/i386/t-linux64
-  ;;
-esac</userinput></screen>
+    <para>Set the default directory name for
+    64-bit libraries to <quote>lib</quote>:</para>
+
+<screen><userinput remap="pre">sed -e 's/lib64/lib/' \
+    -i.orig gcc/config/loongarch/{t-linux,linux.h}</userinput></screen>
 
     <para>The GCC documentation recommends building GCC in a dedicated build directory:</para>
@@ -153,9 +149,5 @@
     <para>Now remove/fix several known test failures:</para>
 
-<screen><userinput remap="test">sed -e '/cpython/d'               -i ../gcc/testsuite/gcc.dg/plugin/plugin.exp
-sed -e 's/no-pic /&amp;-no-pie /'     -i ../gcc/testsuite/gcc.target/i386/pr113689-1.c
-sed -e 's/300000/(1|300000)/'     -i ../libgomp/testsuite/libgomp.c-c++-common/pr109062.c
-sed -e 's/{ target nonpic } //' \
-    -e '/GOTPCREL/d'              -i ../gcc/testsuite/gcc.target/i386/fentryname3.c</userinput></screen>
+<screen><userinput remap="test">sed -e '/cpython/d'               -i ../gcc/testsuite/gcc.dg/plugin/plugin.exp</userinput></screen>
 
     <para>Test the results as a non-privileged user, but do not stop at errors:</para>
@@ -194,4 +186,20 @@
     if the hardware does not support AVX.</para>
 -->
+
+    <!-- gen-vect-*: Likely https://gcc.gnu.org/PR113418
+         pr108357.c: https://gcc.gnu.org/PR108357#c5
+         update-threading.c: https://gcc.gnu.org/PR110628
+         vect-117.c: https://gcc.gnu.org/PR113685
+         pr64076: Binutils bug (ld crashes), needs a triage -->
+    <para>The tests named
+    <filename>gen-vect-11b.c</filename>,
+    <filename>gen-vect-11c.c</filename>,
+    <filename>gen-vect-26.c</filename>,
+    <filename>gen-vect-28.c</filename>,
+    <filename>pr64076</filename>,
+    <filename>pr108357.c</filename>,
+    <filename>update-threading.c</filename>,
+    and <filename>vect-117.c</filename> are known to fail.</para>
+
     <para>A few unexpected failures cannot always be avoided. In some cases
     test failures depend on the specific hardware of the system.<!--The GCC developers
@@ -243,5 +251,5 @@
   platform-specific differences in the dynamic linker name):</para>
 
-<screen><computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen>
+<screen><computeroutput>[Requesting program interpreter: /lib64/ld-linux-loongarch-lp64d.so.1]</computeroutput></screen>
 
   <para>Now make sure that we're set up to use the correct start files:</para>
@@ -251,7 +259,7 @@
   <para>The output of the last command should be:</para>
 
-<screen><computeroutput>/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/Scrt1.o succeeded
-/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crti.o succeeded
-/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crtn.o succeeded</computeroutput></screen>
+<screen><computeroutput>/usr/lib/gcc/loongarch64-unknown-linux-gnu/&gcc-version;/../../../../lib/Scrt1.o succeeded
+/usr/lib/gcc/loongarch64-unknown-linux-gnu/&gcc-version;/../../../../lib/crti.o succeeded
+/usr/lib/gcc/loongarch64-unknown-linux-gnu/&gcc-version;/../../../../lib/crtn.o succeeded</computeroutput></screen>
 
   <para>Depending on your machine architecture, the above may differ slightly.
@@ -270,7 +278,7 @@
 
 <screen><computeroutput>#include &lt;...&gt; search starts here:
- /usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/include
+ /usr/lib/gcc/loongarch64-unknown-linux-gnu/&gcc-version;/include
  /usr/local/include
- /usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/include-fixed
+ /usr/lib/gcc/loongarch64-unknown-linux-gnu/&gcc-version;/include-fixed
  /usr/include</computeroutput></screen>
 
@@ -285,13 +293,13 @@
   be ignored, but otherwise the output of the last command should be:</para>
 
-<screen><computeroutput>SEARCH_DIR("/usr/x86_64-pc-linux-gnu/lib64")
+<screen><computeroutput>SEARCH_DIR("/usr/loongarch64-unknown-linux-gnu/lib64")
 SEARCH_DIR("/usr/local/lib64")
 SEARCH_DIR("/lib64")
 SEARCH_DIR("/usr/lib64")
-SEARCH_DIR("/usr/x86_64-pc-linux-gnu/lib")
+SEARCH_DIR("/usr/loongarch64-unknown-linux-gnu/lib")
 SEARCH_DIR("/usr/local/lib")
 SEARCH_DIR("/lib")
 SEARCH_DIR("/usr/lib");</computeroutput></screen>
-
+<!--
    <para>A 32-bit system may use a few other directories. For example, here
    is the output from an i686 machine:</para>
@@ -305,5 +313,5 @@
 SEARCH_DIR("/lib")
 SEARCH_DIR("/usr/lib");</computeroutput></screen>
-
+-->
   <para>Next make sure that we're using the correct libc:</para>
 
@@ -321,5 +329,5 @@
   platform-specific differences in dynamic linker name):</para>
 
-<screen><computeroutput>found ld-linux-x86-64.so.2 at /usr/lib/ld-linux-x86-64.so.2</computeroutput></screen>
+<screen><computeroutput>found ld-linux-loongarch-lp64d.so.1 at /usr/lib/ld-linux-loongarch-lp64d.so.1</computeroutput></screen>
 
   <para>If the output does not appear as shown above or is not received
Index: chapter08/grub.xml
===================================================================
--- chapter08/grub.xml	(revision 984e1f10689e4ec5486a586669b45b8ed72a79be)
+++ chapter08/grub.xml	(revision a77130cb0b6fb3f69bd2155c3e7ff846a3d12b33)
@@ -43,11 +43,21 @@
     <note>
       <para>
-        If your system has UEFI support and you wish to boot LFS with UEFI,
-        you need to install GRUB with UEFI support (and its dependencies) by
-        following the instructions on
-        <ulink url="&blfs-book;postlfs/grub-efi.html">the BLFS page</ulink>.
-        You may skip this package, or install this package and the BLFS
-        GRUB for UEFI package without conflict (the BLFS page provides
-        instructions for both cases).
+        On LoongArch systems, the following instruction builds GRUB for UEFI.
+        But because LFS lacks the FreeType package and the Unifont data
+        file, GRUB won't install any font for the boot loader and
+        the GRUB boot menu will be displayed using a coarse font or in a
+        smaller region on the screen.
+        If wanted, after the LFS system is finished, install
+        <ulink url="&blfs-book;general/freetype.html">FreeType</ulink>
+        and then install the GRUB compoents not installed from LFS following
+        <ulink url="&blfs-book;postlfs/grub-efi.html">the BLFS
+        instruction</ulink>, but remove the <option>--target=x86_64</option>
+        option and skip the command to install the
+        <filename class='directory'>/usr/lib/grub/x86_64-efi</filename>
+        directory.
+      </para>
+      <para>
+        If your system firmware does not support UEFI, you need to skip the
+        content of this page and try to figure out how to boot your system.
       </para>
     </note>
Index: chapter08/libcap.xml
===================================================================
--- chapter08/libcap.xml	(revision 984e1f10689e4ec5486a586669b45b8ed72a79be)
+++ chapter08/libcap.xml	(revision a77130cb0b6fb3f69bd2155c3e7ff846a3d12b33)
@@ -60,6 +60,5 @@
           <para>This parameter sets the library directory to
           <filename>/usr/lib</filename> rather than
-          <filename>/usr/lib64</filename> on x86_64. It has no effect on
-          x86.</para>
+          <filename>/usr/lib64</filename> on 64-bit LoongArch.</para>
         </listitem>
       </varlistentry>
Index: chapter08/libffi.xml
===================================================================
--- chapter08/libffi.xml	(revision 984e1f10689e4ec5486a586669b45b8ed72a79be)
+++ chapter08/libffi.xml	(revision a77130cb0b6fb3f69bd2155c3e7ff846a3d12b33)
@@ -77,6 +77,6 @@
           system, use the less capable system as a parameter. For details
           about alternative system types, see <ulink
-          url='https://gcc.gnu.org/onlinedocs/gcc-&gcc-version;/gcc/x86-Options.html'>
-          the x86 options in the GCC manual</ulink>.</para>
+          url='https://gcc.gnu.org/onlinedocs/gcc-&gcc-version;/gcc/LoongArch-Options.html'>
+          the LoongArch options in the GCC manual</ulink>.</para>
         </listitem>
       </varlistentry>
Index: chapter08/patch.xml
===================================================================
--- chapter08/patch.xml	(revision 984e1f10689e4ec5486a586669b45b8ed72a79be)
+++ chapter08/patch.xml	(revision a77130cb0b6fb3f69bd2155c3e7ff846a3d12b33)
@@ -42,4 +42,8 @@
   <sect2 role="installation">
     <title>Installation of Patch</title>
+
+    &update-config-text;
+
+<screen><userinput remap="pre">tar -C build-aux &update-config-arg;</userinput></screen>
 
     <para>Prepare Patch for compilation:</para>
Index: chapter08/python.xml
===================================================================
--- chapter08/python.xml	(revision 984e1f10689e4ec5486a586669b45b8ed72a79be)
+++ chapter08/python.xml	(revision a77130cb0b6fb3f69bd2155c3e7ff846a3d12b33)
@@ -90,4 +90,11 @@
     automatically re-run failed tests.  If a test failed but then passed
     when re-run, it should be considered as passed.</para>
+
+    <!-- https://github.com/python/cpython/pull/120227
+         The typical page size of LoongArch Linux is 16 KiB so this issu
+         can be triggered.  -->
+    <para>One test named <literal>test.test_asyncio.test_sendfile</literal>
+    is known to fail depending on the version and configuration of the host
+    kernel.</para>
 
     <para>Install the package:</para>
Index: chapter08/stripping.xml
===================================================================
--- chapter08/stripping.xml	(revision 984e1f10689e4ec5486a586669b45b8ed72a79be)
+++ chapter08/stripping.xml	(revision a77130cb0b6fb3f69bd2155c3e7ff846a3d12b33)
@@ -50,6 +50,6 @@
   rationale for using the <command>install</command> command here.)</para>
 
-  <note><para>The ELF loader's name is ld-linux-x86-64.so.2 on 64-bit systems
-  and ld-linux.so.2 on 32-bit systems.  The construct below selects the
+  <note><para>The ELF loader's name may vary on different systems.
+  The construct below selects the
   correct name for the current architecture, excluding anything ending
   with <literal>g</literal>, in case the commands below have already been
Index: chapter08/util-linux.xml
===================================================================
--- chapter08/util-linux.xml	(revision 984e1f10689e4ec5486a586669b45b8ed72a79be)
+++ chapter08/util-linux.xml	(revision a77130cb0b6fb3f69bd2155c3e7ff846a3d12b33)
@@ -122,7 +122,6 @@
        does not have the option <option>CONFIG_CRYPTO_USER_API_HASH</option>
        enabled or does not have any options providing a SHA256 implementation
-       (for example, <option>CONFIG_CRYPTO_SHA256</option>, or
-       <option>CONFIG_CRYPTO_SHA256_SSSE3</option> if the CPU supports
-       Supplemental SSE3) enabled. In addition, the lsfd: inotify test will
+       (for example, <option>CONFIG_CRYPTO_SHA256</option>)
+       enabled. In addition, the lsfd: inotify test will
        fail if the kernel option <option>CONFIG_NETLINK_DIAG</option> is not
        enabled.
@@ -152,5 +151,5 @@
         eject, fallocate, fdisk, fincore, findfs, findmnt, flock, fsck,
         fsck.cramfs, fsck.minix, fsfreeze, fstrim, getopt, hardlink, hexdump, hwclock,
-        i386 (link to setarch), ionice, ipcmk, ipcrm, ipcs, irqtop, isosize, kill, last, 
+        ionice, ipcmk, ipcrm, ipcs, irqtop, isosize, kill, last, 
         lastb (link to last), ldattach, linux32 (link to setarch), linux64 (link to setarch),
         logger, look, losetup, lsblk, lscpu, lsipc, lsirq, lsfd, lslocks, lslogins,
@@ -161,5 +160,5 @@
         swapoff, swapon, switch_root, taskset, uclampset, ul,
         umount, uname26 (link to setarch), unshare, utmpdump, uuidd, uuidgen, uuidparse,
-        wall, wdctl, whereis, wipefs, x86_64 (link to setarch), and zramctl</seg>
+        wall, wdctl, whereis, wipefs, and zramctl</seg>
         <seg>libblkid.so, libfdisk.so, libmount.so,
         libsmartcols.so, and libuuid.so</seg>
@@ -544,14 +543,4 @@
       </varlistentry>
 
-      <varlistentry id="i386">
-        <term><command>i386</command></term>
-        <listitem>
-          <para>A symbolic link to setarch</para>
-          <indexterm zone="ch-system-util-linux i386">
-            <primary sortas="b-i386">i386</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
       <varlistentry id="ionice">
         <term><command>ionice</command></term>
@@ -1305,14 +1294,4 @@
       </varlistentry>
 
-      <varlistentry id="x86_64">
-        <term><command>x86_64</command></term>
-        <listitem>
-          <para>A symbolic link to setarch</para>
-          <indexterm zone="ch-system-util-linux x86_64">
-            <primary sortas="b-x86_64">x86_64</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
       <varlistentry id="zramctl">
         <term><command>zramctl</command></term>
