1. 程式人生 > >LFS中Binutils,GCC,Glibc三者之間的關係

LFS中Binutils,GCC,Glibc三者之間的關係

1、binutils有一個很重要的目的是為了生成LD,標準聯結器。以及as彙編器,還有readelf等等。
2、gcc,生成gcc編譯器
3、head標頭檔案,必要的標頭檔案支援,變數和函式的申明.
4、glibc,利用新的標頭檔案以及新的binutils程式,生成glibc,其中有大名頂頂的ld-linux.so動態載入器。其中/etc/ld.so.conf檔案的作用是庫檔案的搜尋路徑,預設情況下,編譯器只會查詢/lib和/usr/lib這兩個目錄下的庫檔案。
5、在上述編譯過程中,常出現—libexecdir的引數,表示將程式在編譯過程中將生成的.so和.a檔案放到該目錄內
6、調整工具鏈,即啟用新工具鏈,新的/bin/ld,以及新的/lib/ld-linux.so.2。其中ld-linux.so.2連線的重新定位依靠修改`gcc --print-file specs`檔案來實現。
7、利用新的庫檔案和工具鏈,重新安裝GCC和binutils,以徹底擺脫宿主系統的控制。