LinuxDev 板


LINE

※ 引述《FFz (澎湖.仙人掌.234)》之銘言: : 我安裝好了,但是有一些疑問想請教各位 : 我是參照此教學的 : Building a GNU/Linux ARM Toolchain (from scratch) : http://www.schnozzle.org/~coldwell/toolchain/ : 底下想請各位幫忙解惑的地方有很多 : 麻煩各位幫個忙,謝謝 : 最底下有我的系統相關資訊 : 問題開始,先謝過了 : ------------------------------------------------------- : 原著在安裝Glibc時下 --build=i386-redhat-linux : 底下是我的安裝Glibc時設 --build=i686-linux : ../../glibc-2.3.5/configure : --prefix=${PREFIX}/${TARGET} : --host=arm-elf : --build=i686-linux : --enable-shared : --enable-add-ons=linuxthreads : --with-headers=${SYSROOT}/usr/include 2>&1 | tee configure.out : 可是我下 volname,得到 : Debian 3.1 r5 i386 Bin-1 : 那麼有差別嗎 : 還有,我電腦是用amd的,可是i686, i386是intel的架構 : 那有amd的參數值嗎? 這應該不是很大的問題,就我的經驗i386與i686差異不會很大。 : ------------------------------------------------------- : 請問,在安裝時gcc or glibc 都會填 --target, --host, --build, --prefix 部份有相關,例如在編gcc的時候要去找glibc的表頭檔, 這時候gcc的configure的--with-sysroot就不能設錯。 : 這兩者之間,的參數有相關嗎; glibc沒有 --target這個參數 ^^^^^^^^^^^^^^^^^^ glibc原始碼裡的INSTALL說明書是這樣說的: `--build=BUILD-SYSTEM' `--host=HOST-SYSTEM' These options are for cross-compiling. If you specify both options and BUILD-SYSTEM is different from HOST-SYSTEM, `configure' will prepare to cross-compile glibc from BUILD-SYSTEM to be used on HOST-SYSTEM. You'll probably need the `--with-headers' option too, and you may have to override CONFIGURE's selection of the compiler and/or binutils. : --prefix 這個參數是用來設定安裝的路徑嗎 ^^^^^^^^^^ 是的。不過詳細的路徑設定通常要看你解壓縮的原始碼裡的說明書。 : ------------------------------------------------------- : 關於,Building a GNU/Linux ARM Toolchain (from scratch) : (http://www.schnozzle.org/~coldwell/toolchain/) : 這篇教學,分成下列數個步聚 : 1.Setup : 2.Get the sources : 3.GNU binutils : 4.Linux Kernel Headers : 5.Glibc headers : 6.Stage 1 GCC : 7.GNU C Library : 8.Stage 2 GCC : 9.Linux Kernel Image : 而這篇教學是建立一 cross-compiler toolchain for ARM : 其中因為安裝glibc(step 7) 需要先有一 compiler : 所要先安裝一 c compiler(step 6) : 那麼,我問題一來了 : 為了安裝 glibc 而預先安裝的 c compiler : 是 for arm的嗎? : ------------------------------------------------------- : 問題二,我先假設,如果 c compiler不是 for arm的 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 這句話有點含糊。 你要表達的意思應該是這樣吧: 『如果 c compiler的target不是 for arm的』 (換句話說這個c compiler編出來的程式是不能在ARM上執行的。) 因為『如果 c compiler不是 for arm的』這句話的意思也可以是說: 有個c compiler不是在ARM上執行的 (換句話說這個c compiler不能在ARM上執行、編譯程式。) 的確有人把c compiler裝在ARM上執行, 不過我不清楚是怎麼辦到的。 : 那麼編譯出來的 glibc : 當 Stage 2 GCC ( step 8 ) 的 gcc : 在寫程式時要 include glibc 中的某函式庫 : 這樣到時編譯出來的程式會 for arm嗎 Stage 2 GCC在編譯cross gcc所用的編譯器是就是native gcc。 因為Stage 2 GCC是要編一個可以在你的x86電腦上run的cross compiler。 但這個cross compiler編出來的程式並不能直接在你電腦上run, 要丟到ARM機器上run,或者你可以用GDB/ARMulator模擬。 : ------------------------------------------------------- : 設定 $TARGET時 : TARGET = arm-elf : 或 : TARGET = arm-linux 有差嗎? 這個資訊可以在gcc原始碼資料夾找到說明書,例如: gcc-3.3.6/INSTALL/specific.html : ------------------------------------------------------- : 怎麼確認compiler所編出來的程式 : 能夠在某個架構上執行呢,例如:ARM 用file這個指令後面接執行檔可以查到一些資訊,例如: file a.out a.out: ELF 32-bit LSB executable, ARM, version 1, statically linked, not stripped : ------------------------------------------------------- : 此教學中 "Building a GNU/Linux ARM Toolchain (from scratch)" : 有一步聚是安裝 Stage 1 GCC : 以及最後一步驟安裝 Stage 2 GCC : 這兩個步驟是先安裝一gcc,在用此gcc來編譯另一個gcc ^^^^^^^^^^^^^^^^^^^^^^ 是的。 : 那麼這樣,可以同一版本的gcc,來編同一版本的gcc嗎 ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ 這句話不是很懂。 你前面與後面的gcc分別是指那一個gcc? 是stage 1,還是stage 2,還是native gcc? : 或者是,兩者gcc都是不同版本嗎? : 最後最後,己經快一天半沒睡了.....先來休息一下 加油,有空多讀一點文件,才不會試得這麼辛苦。 (雖然有些問題可能讀了文件也不見得能解決 XD) : ====系統相關資訊==== : uname -nr : debian 2.4.27-3-386 : volname : Debian 3.1 r5 i386 Bin-1 : ====系統GCC相關資訊==== : dpkg -l gcc : ii gcc 3.3.5-3 The GNU C compiler : ====安裝程式相關資訊==== : binutils-2.16.tar.gz, linux-2.6.10.tar.gz, : glibc-linuxthreads-2.3.5.tar.gz, glibc-2.3.5.tar.gz, : gcc-3.4.4.tar.bz2, 2.6.10-at91.patch.gz, : 26_at91_serial.c.gz, flow.c.diff, : ioperm.c.diff, t-linux.diff, -- Albert Einstein : If there is any religion that could cope with modern scientific needs it would be Buddhism. 《金剛經》一切有為法 如夢幻泡影 如露亦如電 應作如是觀 http://web.cc.ncu.edu.tw/~93501025/jg.doc --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.200.121







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP