Lfs

為什麼 binutils 和 gcc 需要在 LFS 中安裝兩次?

  • January 28, 2013

我跟著LFS文件。

我不太明白為什麼它需要 2 次編譯。

我猜:

我們需要目標系統的glibc,如果我們用宿主機的gcc編譯,它就不能和宿主機分離了。所以我們需要先建構新系統的binutils和gcc來建構目標系統的glibc,讓glibc連接目標系統的binutils和gcc。但是 binutils 和 gcc 的第一遍是使用主機的 glibc,所以我們需要第二遍編譯目標的 binutils 和 gcc。

這些是對的嗎?

我有什麼遺漏或誤解嗎?

謝謝~

正確的。正如Dragon Book所解釋的,您必須首先建構一個為目標建構的主機二進製文件,然後使用它來建構一個為目標建構的目標二進製文件。

引用自:https://unix.stackexchange.com/questions/62798