GNU Binutils
ナビゲーションに移動
検索に移動
開発元 | GNUプロジェクト |
---|---|
最新版 |
2.38
/ 2022年2月9日 |
リポジトリ |
![]() |
プログラミング 言語 | C |
サポート状況 | 開発中 |
ライセンス | GNU General Public License |
公式サイト |
www |
GNU Binutilsまたはbinutilsは、さまざまなオブジェクトフォーマットを含むオブジェクトファイルを扱うためのプログラミングツールである。わかりやすくいうと、GNUが提供しているツールのうち、バイナリのプログラミングを実装するためのツールであり[1]、そのためクロスアセンブラとして活用できる。現在のバージョンは、シグナスソリューションズ(レッドハットに買収された)によってBFDライブラリを使用して書かれた。binutilsの典型的な使われ方は、GCC、make、GDBなどの補助である。
コマンド[編集]
binutilsは以下のコマンドを含む:
addr2line
- プログラム内のアドレスをファイル名と行番号に変換するar
- アーカイブの作成、変更、および展開as
- GNUアセンブラc++filt
- C++シンボルのデマングルを行うelfedit
gprof
- コール・グラフ (call graph) のプロファイルを表示するld
- リンカnm
- オブジェクトファイルに含まれるシンボル(クラス、関数など)を表示するobjcopy
- オブジェクトファイルをコピーする、オブジェクトフォーマットの変換を行うobjdump
- オブジェクトファイルのダンプ情報を表示するranlib
- アーカイブのインデックスを作成するreadelf
- ELFファイルの中身を表示するsize
- セクションの大きさとその合計をリストするstrings
- 表示可能な文字列をリストするstrip
- オブジェクトファイル中のシンボルを除去する
元々binutilsのパッケージは少数のユーティリティから構成されていたが、後に関連性の高さからリンカとアセンブラ(2.5以降)も含まれるようになった。
BFDとlibopcodes[編集]
個々のbinutilsコマンドは単純な機能しかもたない。これらを組み合わせカプセル化したものとして、BFD (Binary File Descriptor) やlibopcodesライブラリがある。
最初のBFDバージョンは、David Henkel-WallaceとSteve Chamberlainによって書かれた。過去には、Ken RaeburnとIan Lance Taylorがメンテナンスを行っていた。2005年以降はNick Cliftonがメンテナンスしている。
参考文献など[編集]
- ^ 伊藤剛浩・川田裕貴『独自CPUで学ぶコンピュータの仕組み』、2016年3月20日 第1版 第1刷 発行、237ページ