cht電腦資訊gcin已解決問題
adm Find login register

gold linker 與 rpath

caleb
1 gold linker 與 rpath
Promote 1 Bookmark 02009-12-02quote  

gold 是原本由 Google 開發的 linker, 目標是取代原本的 GNU binutils ld。

gold 已經進入 GNU binutils official trunk, user 可以自由選擇用哪一個 linker。

這個 patch 及其它 patches 都工作良好,不過 rpath 我一直搞不定。

目前 gcin 用 gold link 我只能讓 sofiles 都放在 /usr/lib 不能放在 /usr/lib/gcin

如果用傳統的 ld, 無論有無 patch 或 rpath 都可正常使用。

google 資料不多,gold 這 keyword 又很難 search (google 的命名真糟啊, gold, go, chrome 都是很難 search 的爛名字)

如果有人對 gold 有興趣,不妨研究看看如何讓 gcin + gold + rpath 正常使用。 

caleb
2 gold linker 與 rpath
Promote 0 Bookmark 02009-12-04quote  

感謝 letoh 提供解法,只要在三個地方加入 -Wl,-rpath,$(gcinlibdir) 就可以了。

configure echo LDFLAGS 加入「-Wl,-rpath,\$(gcinlibdir)」(注意要有那個反斜線)

qt-im/Makefile 及 qt4-im/Makefile 的 LDFLAGS 加上「-Wl,-rpath,$(gcinlibdir)」。

傳統的 ld 與 gold 都適用,無不良反應,且解決 gcin 和 sim2trad 「可能不太安全的」 rpath 設定。

(gcin 和 sim2trad 原本的 rpath 是「.:/usr/lib/gcin」,那個「.:」似乎應該去掉比較好?使用 letoh 的解法後就都正常了。)

eliu
3 gold linker 與 rpath
Promote 0 Bookmark 02009-12-04quote  

caleb
(gcin 和 sim2trad 原本的 rpath 是「.:/usr/lib/gcin」,那個「.:」似乎應該去掉比較好?使用 letoh 的解法後就都正常了。)

沒辦法,沒有 "." 無法測試。

我把 "." 改成$(PWD) 就解決了。

edited: 1

cht電腦資訊gcin已解決問題
adm Find login register
views:8144