1. ホーム
  2. c++

[解決済み] ldからgoldへの置き換え - 経験談は?

2023-06-08 22:36:55

質問

どなたか gold の代わりに ld ?

gold 約束 よりもはるかに高速であることを約束します。 ld ということで、大規模な C++ アプリケーションのテストサイクルを短縮するのに役立つかもしれませんが、ld のドロップイン代替品として使用できるのでしょうか?

できます。 gcc / g++ 直接呼び出す gold .?

既知のバグや問題はありますか?

しかし gold はしばらく前から GNU binutils の一部になっていますが、ウェブ上ではほとんど成功例もなければ、Howtos も見当たりません。

( 更新: ゴールドへのリンクと、それを説明するブログ エントリを追加しました。 )

どのように解決するのですか?

現時点では、Ubuntu 10.04上でより大きなプロジェクトをコンパイルしています。ここでは、インストールと統合を簡単に行うために binutils-gold パッケージと一緒にインストールし、簡単に統合することができます (このパッケージを削除すると、古い ld ). その場合、Gccは自動的にgoldを使用します。

いくつかの経験。

  • ゴールドは /usr/local/lib
  • gold は pthread や rt のようなライブラリを想定していないため、手作業で追加する必要がありました。
  • より高速で、より少ないメモリしか必要としない (後者は多くの boost などを含む大きな C++ プロジェクトで重要)。

うまくいかないこと カーネルのものをコンパイルできないので、カーネル モジュールがありません。Ubuntu は、fglrx のようなプロプライエタリなドライバを更新する場合、DKMS を介して自動的にこれを実行します。これは ld-gold で失敗します (ゴールドを削除し、DKMS を再起動し、再度 ld-gold .