我正在檢查黃金鍊接器,看看它是否加快鏈接過程。 我將ld
的軟鏈接改爲/etc/alternative/ld
,指向/usr/bin/gold.ld
,我看到它的確如此。黃金鍊接器問題
結果是,鏈接時間只有慢得多,最糟糕的是鏈接失敗的原因我不明白。
有沒有人有過渡到黃金鍊接器的經驗? 如何在其中使用並行鏈接? (通過使用頂級命令,我只能看到1 ld
進程)。
感謝
我正在檢查黃金鍊接器,看看它是否加快鏈接過程。 我將ld
的軟鏈接改爲/etc/alternative/ld
,指向/usr/bin/gold.ld
,我看到它的確如此。黃金鍊接器問題
結果是,鏈接時間只有慢得多,最糟糕的是鏈接失敗的原因我不明白。
有沒有人有過渡到黃金鍊接器的經驗? 如何在其中使用並行鏈接? (通過使用頂級命令,我只能看到1 ld
進程)。
感謝
Does anyone have experience with transitioning to gold linker?
是。
(我意識到這是一個大多無用的答案,但是那是因爲你已經問了一個無用的問題。)
How do I use the parallel linking in it?
金連接器需要與--enable-threads
進行配置,這是不是默認。
如果鏈接器配置了線程支持,則--thread
和--thread-count COUNT
是您正在查找的標誌(man page)。
不過請注意,在我的經驗ld.gold
比ld.bfd
快4-6倍,而不使用線程和線程肯定不會治癒你的鏈路故障。
最好的辦法是嘗試瞭解鏈接失敗並解決問題。一旦你完成了這個任務,很有可能會更快地完成這個任務。
這裏是失敗:「/ usr/bin/ld:致命錯誤:不能與動態對象../libm.so混合使用-r」。任何想法是什麼意思? 我能夠在EXTRA_LDFLAGS中執行--enable-threads,但其他兩個標誌失敗,即使該標誌出現在linux的手冊頁中(您提供的鏈接不工作)。 有什麼想法? 謝謝 – itayb
@itayb「這是失敗」 - 您的鏈接命令行不正確。從中刪除'-r'。 –