メインメニューを開く

GNU Binutilsまたはbinutilsは、さまざまなオブジェクトフォーマットを含むオブジェクトファイルを扱うためのプログラミングツールである。わかりやすくいうと、GNUが提供しているツールのうち、バイナリのプログラミングを実装するための関するツールであり[1]、そのためクロスアセンブラとして活用できる。現在のバージョンは、シグナスソリューションズレッドハットに買収された)によってBFDライブラリを使用して書かれた。binutilsの典型的な使われ方は、GCCmakeGDBなどの補助である。

GNU Binutils
開発元 GNUプロジェクト
最新版 2.33.1 / 2019年10月12日(37日前) (2019-10-12
リポジトリ sourceware.org/git/gitweb.cgi?p=binutils-gdb.git
プログラミング言語 C
サポート状況 開発中
ライセンス GNU General Public License
公式サイト www.gnu.org/s/binutils/
テンプレートを表示

コマンド編集

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がメンテナンスしている。

参考文献など編集

  1. ^ 伊藤剛浩・川田裕貴『独自CPUで学ぶコンピュータの仕組み』、2016年3月20日 第1版 第1刷 発行、237ページ

外部リンク編集