为什么binutils和gcc需要在LFS中安装两次?

为什么binutils和gcc需要在LFS中安装两次?

我跟着线性FS文档。

我不太明白为什么它需要两次编译。

我猜:

我们需要目标系统的glibc,如果用宿主机的gcc编译,就无法与宿主机分离了。所以我们需要先构建新系统的binutils和gcc来构建目标系统的glibc,让glibc与目标系统的binutils和gcc连接。但是第一遍 binutils 和 gcc 使用的是主机的 glibc,所以我们需要第二遍编译目标的 binutils 和 gcc。

这些对吗?

我有什么遗漏或误解吗?

谢谢~

答案1

正确的。作为龙书解释说,您必须首先构建一个为目标构建的主机二进制文件,然后使用它来构建为目标构建的目标二进制文件。

相关内容