Lfs
為什麼 binutils 和 gcc 需要在 LFS 中安裝兩次?
我跟著LFS文件。
我不太明白為什麼它需要 2 次編譯。
我猜:
我們需要目標系統的glibc,如果我們用宿主機的gcc編譯,它就不能和宿主機分離了。所以我們需要先建構新系統的binutils和gcc來建構目標系統的glibc,讓glibc連接目標系統的binutils和gcc。但是 binutils 和 gcc 的第一遍是使用主機的 glibc,所以我們需要第二遍編譯目標的 binutils 和 gcc。
這些是對的嗎?
我有什麼遺漏或誤解嗎?
謝謝~
正確的。正如Dragon Book所解釋的,您必須首先建構一個為目標建構的主機二進製文件,然後使用它來建構一個為目標建構的目標二進製文件。