Binutils 包含匯編器、鏈接器以及其他用于處理目標文件的工具。
安裝 Binutils
解壓軟件包:
cd /sources
tar xf binutils-2.37.tar.xz
cd binutils-2.37
進行簡單測試,確認偽終端 (PTY) 在 chroot 環(huán)境中能正常工作:
expect -c "spawn ls"
如果輸出不是上面這樣,就說明環(huán)境沒有為 PTY 的正常工作設置好。在運行 Binutils 和 GCC 的測試套件前必須解決這個問題。
上游開發(fā)者提供了一個補丁,它能修復在構建一些軟件包時出現(xiàn)的問題。應用該補?。?/p>
patch -Np1 -i ../binutils-2.37-upstream_fix-1.patch
構建系統(tǒng)中的一處錯誤導致軟件包附帶的 man 頁面為空。繞過這個問題并刪除附帶的 man 頁面,這樣 man 頁面就會被正確地重新生成:
sed -i '63d' etc/texi2pod.pl
find -name *.1 -delete
Binutils 文檔推薦在一個專用的構建目錄中構建 Binutils:
mkdir -v build
cd build
準備編譯 Binutils:
../configure --prefix=/usr
--enable-gold
--enable-ld=default
--enable-plugins
--enable-shared
--disable-werror
--enable-64-bit-bfd
--with-system-zlib
編譯該軟件包:
make tooldir=/usr
測試編譯結果:
make -k check
已知四項和 zlib 相關的測試可能失敗。
安裝該軟件包:
make tooldir=/usr install -j1
刪除無用的靜態(tài)庫:
rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.a
安裝完成后清理工作:
本次分享到此結束啦~
如果覺得文章對你有幫助,點贊、收藏、關注、評論,一鍵四連支持,你的支持就是我創(chuàng)作最大的動力。
?? 技術交流可以 關注公眾號:Lucifer三思而后行 ??
本文摘自 :https://blog.51cto.com/l