我正在使用buildroot在專用機器上構建新的gcc交叉編譯器。是否可以使用buildroot靜態構建gcc?
它工作得很好,但我現在需要從另一臺機器上運行這個GCC,關於這一點我有不一樣的libc版本:-(。當然海合會隨後墜毀。
是否有可能建立靜態GCC使用的buildroot?
我正在使用buildroot在專用機器上構建新的gcc交叉編譯器。是否可以使用buildroot靜態構建gcc?
它工作得很好,但我現在需要從另一臺機器上運行這個GCC,關於這一點我有不一樣的libc版本:-(。當然海合會隨後墜毀。
是否有可能建立靜態GCC使用的buildroot?
你可以嘗試通過-static到連接(通過LDFLAGS),但是要知道,全靜態鏈接不glibc的支持了(相應地,它需要支持靜態鏈接一個glibc的版本)。
這是由於nss庫(名稱服務器開關)將被動態加載(除非您編譯自己的glibc - 但是這打敗了nss的目的)。對於您來說,這可能足以減少對系統庫的依賴性。
但我可以假設一個靜態鏈接的gcc是相當大的 - 這可能會導致啓動時間很長。
如果你的目標只是做一個可重定位的工具鏈,靜態鏈接到expat,gmp,mpfr和mpc應該足夠了。您只需申請https://patchwork.ozlabs.org/patch/359841/