不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

Binutils的調(diào)整過(guò)程和Gcc的調(diào)整過(guò)程

時(shí)間: 若木635 分享

  Binutils的調(diào)整過(guò)程

  要想能調(diào)整binutils必須自己編譯一個(gè)ld命令,ld是個(gè)鏈接器,是整個(gè)編譯過(guò)程中最后一步要執(zhí)行的命令,要根據(jù)庫(kù)生成程序文件。

  以lfs中的為例:

  ../binutils-2.20/configure --prefix=/tools --disable-nls --with-lib-path=/tools/lib

  make

  make install

  make -C ld clean

  make -C ld LIB_PATH=/usr/lib:/lib

  cp -v ld/ld-new /tools/bin

  這個(gè)過(guò)程會(huì)把binutils安裝在/tools目錄下,并生成一個(gè)ld-new放到/tools/bin下。

  這個(gè)過(guò)程會(huì)生成兩個(gè)ld,ld和ld-new。這兩個(gè)ld的不同這處在于它們的搜索路徑不同。

  ld的搜索路徑為/tools/lib,在configure時(shí)用--with-lib-path=/tools/lib設(shè)置。

  ld-newr的搜索路徑為/usr/lib:/lib,在重新生成ld時(shí)用LIB_PATH=/usr/lib:/lib設(shè)置。

  這樣只要把這兩個(gè)ld保存好,到時(shí)想依賴哪個(gè)glibc就用對(duì)應(yīng)ld就行了,不要告訴我你不知道用哪個(gè)喲。

  Gcc的調(diào)整過(guò)程

  gcc –dumpspecs會(huì)輸出gcc的現(xiàn)有配制。Sed是個(gè)行正則處理工具,把輸出的配制中的某些字符串統(tǒng)一替換。

  gcc -dumpspecs | sed \

  -e 's@/lib\(64\)\?/ld@/tools&@g' \

  -e "/^\*cpp:$/{n;s,$, -isystem /tools/include,}" \

  > $(dirname $($LFS_TGT-gcc -print-libgcc-file-name))/specs

  上面的過(guò)程大致為gcc輸出配制給sed,sed替換后輸出到specs文件。

  $(dirname $($LFS_TGT-gcc -print-libgcc-file-name))為specs應(yīng)該在的路徑。

Binutils的調(diào)整過(guò)程和Gcc的調(diào)整過(guò)程

Binutils的調(diào)整過(guò)程 要想能調(diào)整binutils必須自己編譯一個(gè)ld命令,ld是個(gè)鏈接器,是整個(gè)編譯過(guò)程中最后一步要執(zhí)行的命令,要根據(jù)庫(kù)生成程序文件。 以lfs中的為例: ../binutils-2.20/configure --prefix=/tools --disable-nls --with-lib
推薦度:
點(diǎn)擊下載文檔文檔為doc格式
75429