2014-10-01 49 views
0

我是GCC新手,將GCC編譯器移植到新架構。將GCC移植到新架構

  • 步驟1:新架構
  • 步驟2實施GCC(GCC-4.6.1):新架構實現的binutils(binutils的-2.21.1)
  • 步驟3: ..

現在我在步驟1,我的問題是,
我可以在不實現binutils和其他程序的情況下構建GCC嗎?輸出喜歡「{target} -linux-elf-gcc」 並需要使用以下命令獲取並檢查程序集輸出;

$ {新機} -linux-ELF-GCC -S main.c中

+2

你說什麼「新機器」你的意思是什麼? – 2014-10-01 02:44:39

+0

「新機器」是指新的架構。目標處理器是新設計的處理器,不支持GCC。 – deeman 2014-10-01 02:50:17

+1

@deeman將'gcc'引導到一個新架構是一個如此寬泛的問題,它無視了理由。 – 2014-10-01 02:53:09

回答

0

如果我理解你的問題正確,你想編譯GCC的版本,對於給定的架構。

下載binutils軟件包,對其進行配置並編譯,安裝並準備好構建GCC。

下載您感興趣的GCC版本軟件包,並使用參數進行配置,這些參數在目標架構和其他細節上進行了清晰的說明。 轉寄此頁面瞭解更多配置的幫助:https://gcc.gnu.org/install/configure.html

如果您在您的本地機器上建立這個GCC,最有可能的一組內核頭文件爲 平臺將可以和你沒有需要關注與標題。 但是對於交叉編譯,必須爲源目標樹配置的一組內核頭文件可用。

樣品配置,對於本機編譯器: 的./configure前綴= PREFIX

對於原生交叉編譯器: 的./configure --target = PowerPC的Linux的前綴=/USR - -with-headers =/usr/src/linux/include --enable-languages = c --disable-threads

一旦你建立了你的GCC,以後你需要建立glibc,使用新生成的GCC工具鏈。

之後,您應該可以使用新創建的工具鏈編譯任何其他包。 如果你想編譯一個小型的測試程序,其中這個測試程序中的依賴關係更少你可以在GCC準備就緒時執行此操作。