|
@@ -74,34 +74,27 @@
|
|
|
<para>Fix a minor security issue with glob functions:</para>
|
|
|
|
|
|
<screen><userinput remap="pre">patch -Np1 -i ../&glibc-glob-patch;</userinput></screen>
|
|
|
--->
|
|
|
- <!--para>First create a compatibility symlink to avoid references to /tools in
|
|
|
- our final glibc:</para-->
|
|
|
- <para>创建一个与最终的 LFS 系统兼容的符号链接,
|
|
|
- 避免最终的 Glibc 包含对 /tools 的引用:
|
|
|
- </para>
|
|
|
+--><!--
|
|
|
+ <para>First create a compatibility symlink to avoid references to /tools in
|
|
|
+ our final glibc:</para>
|
|
|
|
|
|
<screen><userinput remap="pre">ln -sfv /tools/lib/gcc /usr/lib</userinput></screen>
|
|
|
-
|
|
|
- <!--para>Determine the GCC include directory and create a symlink for LSB
|
|
|
+-->
|
|
|
+ <!--para>Create a symlink for LSB
|
|
|
compliance. Additionally, for x86_64, create a compatibility symlink
|
|
|
required for the dynamic loader to function correctly:</para-->
|
|
|
- <para>判定 GCC 包含文件目录,并为了兼容 LSB 创建一个符号链接。另外,
|
|
|
+ <para>为了兼容 LSB 创建一个符号链接。另外,
|
|
|
对于 x86_64 ,还要创建一个动态链接器的兼容性符号链接,
|
|
|
使它能够正常工作:</para>
|
|
|
|
|
|
<screen><userinput remap="pre">case $(uname -m) in
|
|
|
- i?86) GCC_INCDIR=/usr/lib/gcc/$(uname -m)-pc-linux-gnu/&gcc-version;/include
|
|
|
- ln -sfv ld-linux.so.2 /lib/ld-lsb.so.3
|
|
|
+ i?86) ln -sfv ld-linux.so.2 /lib/ld-lsb.so.3
|
|
|
;;
|
|
|
- x86_64) GCC_INCDIR=/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/include
|
|
|
- ln -sfv ../lib/ld-linux-x86-64.so.2 /lib64
|
|
|
+ x86_64) ln -sfv ../lib/ld-linux-x86-64.so.2 /lib64
|
|
|
ln -sfv ../lib/ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so.3
|
|
|
;;
|
|
|
esac</userinput></screen>
|
|
|
-
|
|
|
- <!--para>Remove a file that may be left over from a previous build attempt:
|
|
|
- </para-->
|
|
|
+<!--
|
|
|
<para>删除上次编译时可能留下的文件:</para>
|
|
|
<note><title>译注</title>
|
|
|
<para>译者的惨痛教训表明,如果存在这个文件,
|
|
@@ -109,7 +102,7 @@ esac</userinput></screen>
|
|
|
</note>
|
|
|
|
|
|
<screen><userinput remap="pre">rm -f /usr/include/limits.h</userinput></screen>
|
|
|
-
|
|
|
+-->
|
|
|
<!--para>The Glibc documentation recommends building Glibc
|
|
|
in a dedicated build directory:</para-->
|
|
|
<para>Glibc 文档推荐在专用目录中构建它:</para>
|
|
@@ -119,24 +112,22 @@ cd build</userinput></screen>
|
|
|
|
|
|
<para>准备安装 Glibc:</para>
|
|
|
|
|
|
-<screen><userinput remap="configure">CC="gcc -isystem $GCC_INCDIR -isystem /usr/include" \
|
|
|
+<screen><userinput remap="configure">CC="gcc -ffile-prefix-map=/tools=/usr" \
|
|
|
../configure --prefix=/usr \
|
|
|
--disable-werror \
|
|
|
--enable-kernel=&min-kernel; \
|
|
|
--enable-stack-protector=strong \
|
|
|
- libc_cv_slibdir=/lib
|
|
|
-unset GCC_INCDIR</userinput></screen>
|
|
|
+ libc_cv_slibdir=/lib</userinput></screen>
|
|
|
|
|
|
<variablelist>
|
|
|
<title>新的配置选项和参数的含义:</title>
|
|
|
|
|
|
<varlistentry>
|
|
|
- <term><parameter>CC="gcc -isystem $GCC_INCDIR -isystem /usr/include"</parameter></term>
|
|
|
+ <term><parameter>CC="gcc -ffile-prefix-map=/tools=/usr"</parameter></term>
|
|
|
<listitem>
|
|
|
- <!--para>Setting the location of both gcc and system include directories
|
|
|
- avoids introduction of invalid paths in debugging symbols.</para-->
|
|
|
- <para>设定 GCC 和系统的包含文件目录,避免调试符号中包含无效路径。
|
|
|
- </para>
|
|
|
+ <para>使 GCC 在编译结果中记录文件的路径时,
|
|
|
+ 将 /tools 中的文件记录为 /usr 中的对应路径。
|
|
|
+ 这可以避免调试符号中出现无效路径。</para>
|
|
|
</listitem>
|
|
|
</varlistentry>
|
|
|
|