2010-12-18 66 views
1

我正在嘗試使用CodeSourcery的ARM交叉工具鏈來使用--dynamic-linker選項。但是gcc似乎忽略了它,並且從不在共享庫的ELF中添加解釋器段。我錯過了什麼來完成這項工作?gcc忽略-Wl, - 動態鏈接器開關

+0

你能介紹一下你正在使用的完整命令行嗎? – 2010-12-18 20:58:36

+0

另外,鏈接器腳本中是否有'.interp'指令? – 2010-12-18 21:01:45

+0

@Martin:什麼是鏈接腳本和'.interp'指令? – ognian 2010-12-18 21:19:10

回答

3

我懷疑gcc忽略該選項。將-v添加到編譯器命令行以驗證該選項確實傳遞給鏈接器。

更可能是您錯誤地使用了該選項。 --dynamic-linker正在採取=file的說法,而你沒有提到你通過了一個。

編輯:正如您發現的那樣,鏈接描述文件中沒有.interp部分。但是,您應該 - 請參閱this example

+0

感謝您的幫助。不幸的是,交換機到達鏈接器。我有另一個成功轉到二進制文件的-rpath開關,但是--dynamic-linker失敗。編輯:是的,我也通過「文件」的一部分,否則命令不會執行 – ognian 2010-12-18 20:50:24

+0

我認爲這個問題,然後措詞混淆:gcc不*忽視國旗;這是顯然無法處理它的鏈接器。 – 2010-12-18 20:55:17