使用している bfd のバージョンを確認するにはどうすればいいですか?

使用している bfd のバージョンを確認するにはどうすればいいですか?

Linux マシンでコマンドを実行するとバグが発生しましたgcc。バグを Google で検索すると、bfdライブラリの新しいリビジョンで修正されたという報告がありました。さらに検索してみると、共有の動的ライブラリではなく、ビルド時にリンクされたbfd静的ライブラリである可能性があることがわかりgccましたが、確信はありません。

gcc所有しているバージョンがbfd静的に使用されているか動的に使用されているか、また のバージョンはどれかを確認するにはどうすればよいでしょうかbfd?

答え1

ldBFDは、、、、goldなどを含むGNUのBinutilsを構成するプログラムで使用されるライブラリですas。これらは通常、と呼ばれるパッケージで提供されます。バイナリユーティリティそしてbinutils-dev(Debianとその仲間) またはbinutils-devel(Fedora/RHEL)。上記のプログラムのいずれかをスイッチ付きで実行してバージョン番号を取得できます。を使用して依存関係を一覧表示できます。依存関係をそのタイプも含めて一覧表示するには-V、次のようにします。readelfld

readelf -d `which ld`

Dynamic section at offset 0xc900c contains 28 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libbfd-2.22-system.so]
 0x00000001 (NEEDED)                     Shared library: [libz.so.1]
 0x00000001 (NEEDED)                     Shared library: [libdl.so.2]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]

私は GCC の内部の仕組みにあまり詳しくありませんが、GCC が BFD と関連していると考えるのは奇妙だと思います。

関連情報