gold
の男はこう述べています:
-L DIR, --library-path DIR
Add directory to search path
--rpath-link DIR
Add DIR to link time shared library search path
Bfdのld
は、-rpath-link
は、再帰的に含まれるsosに使用されます。
ld.lld
も引数としてリストしません。
誰かがこの状況を明らかにしてくれませんか?
--rpath-link
オプションはbfd ldによって使用され、リンク時のシンボル解決を行うときにDT_NEEDED共有ライブラリを見つけるために使用される検索パスに追加されます。これは基本的に、(--rpath
オプションまたはLD_LIBRARY_PATH
環境変数によって設定された)シンボルを解決するときに動的リンカーが何をするかを模倣しようとするときに、ランタイム検索パスとして何を使用するかをリンカーに指示します。
共有ライブラリのシンボルを解決する場合、GoldはDT_NEEDEDエントリに従いません。そのため、--rpath-link
オプションは無視されます。これは意図的な設計の決定でした。リンクプロセス中に、間接的な依存関係が存在したり、ランタイムの場所に存在したりする必要はありません。