diff --git a/articles/20230929-elf2flt-fix-install.md b/articles/20230929-elf2flt-fix-install.md
index 55381a7d109bd0dede20effc0712dbbe5ea36337..5af46ac73d3cae3aaae50cb126b36ce6b8fe1d62 100644
--- a/articles/20230929-elf2flt-fix-install.md
+++ b/articles/20230929-elf2flt-fix-install.md
@@ -1,4 +1,4 @@
-> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc2 - [spaces newline toc comments codeblock]
+> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc2 - [spaces]
> Author: Odysseus <320873791@qq.com>
> Date: 2023/09/19
> Revisor: walimis <>
@@ -102,66 +102,9 @@ $ which riscv64-linux-gnu-ld
/usr/bin/riscv64-linux-gnu-ld
```
-可以看到工具链调用的是 `/usr/bin` 下的。这里每个人的情况可能会有所不同,需要额外添加配置选项,指定工具链的可执行程序路径。在这里,我采用修改 `configure.ac` 的方案,通过往 `configure.ac` 中添加相应的配置选项达成目的。具体而言,我在 `configure.ac` 中加入 `--with-toolchain-bindir=
` 这一配置选项,并把其值传递给变量 `$(toolchain_bindir)`,供 `Makefile.in` 使用。
+可以看到工具链调用的是 `/usr/bin` 下的。这里每个人的情况可能会有所不同,所以我们看一下有无相关的配置选项。实际上,我们在之前的探寻过程中已经发现了一个可用的变量:`$prefix`。在 `./configure` 里面,`$prefix` 变量被追加到 `$bindir` 的开头,因此我们只需使用 `$bindir`。另外,elf2flt 中有一个变量 `$DESTDIR`,是指定 Buildroot 中 host 工具链的,为了保持与 Buildroot 的兼容性,我们还需要在 `$bindir` 前面加上这个变量。
-`configure.ac` 中修改如下:
-
-```diff
-@@ -1,6 +1,12 @@
- dnl Process this file with autoconf to produce a configure script.
- AC_INIT(elf2flt.c)
-
-+AC_ARG_WITH(toolchain-bindir,
-+ AS_HELP_STRING([--with-toolchain-bindir=], [path to installed toolchain]),
-+ [ ac_toolchain_bindir=$withval ],
-+ [ ac_toolchain_bindir=NONE ]
-+)
-+
- AC_ARG_WITH(zlib-prefix,
- AS_HELP_STRING([--with-zlib-prefix=], [path to installed zlib]),
- [ ac_zlib_prefix=$withval ],
-
-@@ -137,6 +143,11 @@
- else
- LIBS="$ac_libbfd $LIBS"
- fi
-
-+toolchain_bindir=
-+if test "$ac_toolchain_bindir" != "NONE"; then
-+ toolchain_bindir=$(cd "$ac_toolchain_bindir" && pwd)
-+fi
-+
- bfd_include_dir=
- if test "$ac_bfd_include_dir" != "NONE"; then
- bfd_include_dir=$(cd "$ac_bfd_include_dir" && pwd)
-
-@@ -158,6 +169,16 @@
- if test "$ac_binutils_ldscript_dir" = "NONE"; then
- fi
- binutils_ldscript_dir="$ac_binutils_ldscript_dir"
-
-+if test "$ac_toolchain_bindir" = "NONE" ; then
-+ AC_MSG_ERROR([
-+You need to specify the location of the installed toolchain.
-+
-+Run configure again specifying this option:
-+
-+ ./configure --target= --with-toolchain-bindir= --with-bfd-include-dir= --with-libbfd= --with-libiberty=
-+])
-+fi
-+
- if test "$ac_libbfd" = "NONE" -o "$ac_libiberty" = "NONE" ; then
- AC_MSG_ERROR([
-
-@@ -258,6 +279,7 @@ AC_SUBST(target_alias)
- AC_SUBST(target_cpu)
- AC_SUBST(target_os)
- AC_SUBST(target_vendor)
-+AC_SUBST(toolchain_bindir)
- AC_SUBST(bfd_include_dir)
-```
-
-而后,对于 `Makefile.in`,我们做出如下修改:
+综上,对于 `Makefile.in`,我们做出如下修改:
```diff
@@ -8,6 +8,7 @@
@@ -170,7 +113,7 @@ exec_prefix = @exec_prefix@
libdir = @libdir@
includedir = @includedir@
+toolchain_bindir = @toolchain_bindir@
-
+
CC = @CC@
CPU = @target_cpu@
@@ -179,16 +122,15 @@ install:
$(INSTALL) -m 755 $(PROG_FLTHDR) $(DESTDIR)$(target_bindir)/$(PROG_FLTHDR)
$(INSTALL) -m 755 $(PROG_ELF2FLT) $(DESTDIR)$(bindir)/$(TARGET)-$(PROG_ELF2FLT)
$(INSTALL) -m 755 $(PROG_ELF2FLT) $(DESTDIR)$(target_bindir)/$(PROG_ELF2FLT)
-+ cp $(toolchain_bindir)/$(TARGET)-ld $(DESTDIR)$(bindir)/$(TARGET)-ld
-+ cp $(toolchain_bindir)/$(TARGET)-ld $(DESTDIR)$(target_bindir)/ld
++ cp $(DESTDIR)$(bindir)/$(TARGET)-ld $(DESTDIR)$(target_bindir)/ld
[ -f $(DESTDIR)$(bindir)/$(TARGET)-ld.real$(EXEEXT) ] || \
mv $(DESTDIR)$(bindir)/$(TARGET)-ld$(EXEEXT) $(DESTDIR)$(bindir)/$(TARGET)-ld.real$(EXEEXT)
[ -f $(DESTDIR)$(target_bindir)/ld.real$(EXEEXT) ] || \
mv $(DESTDIR)$(target_bindir)/ld$(EXEEXT) $(DESTDIR)$(target_bindir)/ld.real$(EXEEXT)
$(INSTALL) -m 755 $(PROG_LD_ELF2FLT) $(DESTDIR)$(bindir)/$(TARGET)-ld$(EXEEXT)
$(INSTALL) -m 755 $(PROG_LD_ELF2FLT) $(DESTDIR)$(target_bindir)/ld$(EXEEXT)
-+ mv $(toolchain_bindir)/$(TARGET)-ld $(toolchain_bindir)/$(TARGET)-ld_old
-+ ln -s $(DESTDIR)$(target_bindir)/ld $(toolchain_bindir)/$(TARGET)-ld
++ mv $(DESTDIR)$(bindir)/$(TARGET)-ld $(DESTDIR)$(bindir)/$(TARGET)-ld_old
++ ln -s $(DESTDIR)$(target_bindir)/ld $(DESTDIR)$(bindir)/$(TARGET)-ld
$(INSTALL) -m 644 $(SRC_LDFILE) $(DESTDIR)$(target_libdir)/$(LDFILE)
```
@@ -203,16 +145,15 @@ install:
$(INSTALL) -m 755 $(PROG_FLTHDR) $(DESTDIR)$(target_bindir)/$(PROG_FLTHDR)
$(INSTALL) -m 755 $(PROG_ELF2FLT) $(DESTDIR)$(bindir)/$(TARGET)-$(PROG_ELF2FLT)
$(INSTALL) -m 755 $(PROG_ELF2FLT) $(DESTDIR)$(target_bindir)/$(PROG_ELF2FLT)
- cp $(toolchain_bindir)/$(TARGET)-ld $(DESTDIR)$(bindir)/$(TARGET)-ld
- cp $(toolchain_bindir)/$(TARGET)-ld $(DESTDIR)$(target_bindir)/ld
+ cp $(DESTDIR)$(bindir)/$(TARGET)-ld $(DESTDIR)$(target_bindir)/ld
[ -f $(DESTDIR)$(bindir)/$(TARGET)-ld.real$(EXEEXT) ] || \
mv $(DESTDIR)$(bindir)/$(TARGET)-ld$(EXEEXT) $(DESTDIR)$(bindir)/$(TARGET)-ld.real$(EXEEXT)
[ -f $(DESTDIR)$(target_bindir)/ld.real$(EXEEXT) ] || \
mv $(DESTDIR)$(target_bindir)/ld$(EXEEXT) $(DESTDIR)$(target_bindir)/ld.real$(EXEEXT)
$(INSTALL) -m 755 $(PROG_LD_ELF2FLT) $(DESTDIR)$(bindir)/$(TARGET)-ld$(EXEEXT)
$(INSTALL) -m 755 $(PROG_LD_ELF2FLT) $(DESTDIR)$(target_bindir)/ld$(EXEEXT)
- mv $(toolchain_bindir)/$(TARGET)-ld $(toolchain_bindir)/$(TARGET)-ld_old
- ln -s $(DESTDIR)$(target_bindir)/ld $(toolchain_bindir)/$(TARGET)-ld
+ mv $(DESTDIR)$(bindir)/$(TARGET)-ld $(DESTDIR)$(bindir)/$(TARGET)-ld_old
+ ln -s $(DESTDIR)$(target_bindir)/ld $(DESTDIR)$(bindir)/$(TARGET)-ld
+ ln -s $(DESTDIR)$(bindir)/$(TARGET)-elf2flt$(EXEEXT) $(DESTDIR)$(bindir)/elf2flt$(EXEEXT)
+ ln -s $(DESTDIR)$(bindir)/$(TARGET)-flthdr$(EXEEXT) $(DESTDIR)$(bindir)/flthdr$(EXEEXT)
$(INSTALL) -m 644 $(SRC_LDFILE) $(DESTDIR)$(target_libdir)/$(LDFILE)
@@ -261,19 +202,18 @@ install:
$(INSTALL) -m 755 $(PROG_FLTHDR) $(DESTDIR)$(target_bindir)/$(PROG_FLTHDR)
$(INSTALL) -m 755 $(PROG_ELF2FLT) $(DESTDIR)$(bindir)/$(TARGET)-$(PROG_ELF2FLT)
$(INSTALL) -m 755 $(PROG_ELF2FLT) $(DESTDIR)$(target_bindir)/$(PROG_ELF2FLT)
- cp $(toolchain_bindir)/$(TARGET)-ld $(DESTDIR)$(bindir)/$(TARGET)-ld
- cp $(toolchain_bindir)/$(TARGET)-ld $(DESTDIR)$(target_bindir)/ld
+ cp $(DESTDIR)$(bindir)/$(TARGET)-ld $(DESTDIR)$(target_bindir)/ld
[ -f $(DESTDIR)$(bindir)/$(TARGET)-ld.real$(EXEEXT) ] || \
mv $(DESTDIR)$(bindir)/$(TARGET)-ld$(EXEEXT) $(DESTDIR)$(bindir)/$(TARGET)-ld.real$(EXEEXT)
[ -f $(DESTDIR)$(target_bindir)/ld.real$(EXEEXT) ] || \
mv $(DESTDIR)$(target_bindir)/ld$(EXEEXT) $(DESTDIR)$(target_bindir)/ld.real$(EXEEXT)
$(INSTALL) -m 755 $(PROG_LD_ELF2FLT) $(DESTDIR)$(bindir)/$(TARGET)-ld$(EXEEXT)
$(INSTALL) -m 755 $(PROG_LD_ELF2FLT) $(DESTDIR)$(target_bindir)/ld$(EXEEXT)
- mv $(toolchain_bindir)/$(TARGET)-ld $(toolchain_bindir)/$(TARGET)-ld_old
- ln -s $(DESTDIR)$(target_bindir)/ld $(toolchain_bindir)/$(TARGET)-ld
+ mv $(DESTDIR)$(bindir)/$(TARGET)-ld $(DESTDIR)$(bindir)/$(TARGET)-ld_old
+ ln -s $(DESTDIR)$(target_bindir)/ld $(DESTDIR)$(bindir)/$(TARGET)-ld
ln -s $(DESTDIR)$(bindir)/$(TARGET)-elf2flt$(EXEEXT) $(DESTDIR)$(bindir)/elf2flt$(EXEEXT)
ln -s $(DESTDIR)$(bindir)/$(TARGET)-flthdr$(EXEEXT) $(DESTDIR)$(bindir)/flthdr$(EXEEXT)
-+ ln -s $(toolchain_bindir)/$(TARGET)-nm $(DESTDIR)$(target_bindir)/nm
++ ln -s $(DESTDIR)$(bindir)/$(TARGET)-nm $(DESTDIR)$(target_bindir)/nm
$(INSTALL) -m 644 $(SRC_LDFILE) $(DESTDIR)$(target_libdir)/$(LDFILE)
```