.\" Copyright (c) 1991, 1996, 1997 Free Software Foundation .\" See section COPYING for conditions for redistribution .\" jpman %Id: objdump.1,v 1.3 1998/12/13 13:22:52 horikawa Stab % .TH objdump 1 "5 November 1991" "cygnus support" "GNU Development Tools" .de BP .sp .ti \-.2i \(** .. .SH 名称 objdump \- オブジェクトファイルから情報を表示する .SH 書式 .hy 0 .na .TP .B objdump .RB "[\|" \-a | \-\-archive\-headers "\|]" .RB "[\|" "\-b\ "\c .I bfdname\c .RB " | " "\-\-target="\c .I bfdname\c \&\|] .RB "[\|" \-C | \-\-demangle "\|]" .RB "[\|" \-\-debugging "\|]" .RB "[\|" \-d | \-\-disassemble "\|]" .RB "[\|" \-D | \-\-disassemble-all "\|]" .RB "[\|" \-\-disassemble\-zeroes "\|]" .RB "[\|" \-EB | \-EL | \-\-endian=\c .I {big|little}\c \&\|] .RB "[\|" \-f | \-\-file\-headers "\|]" .RB "[\|" \-h | \-\-section\-headers .RB "| " \-\-headers "\|]" .RB "[\|" \-i | \-\-info "\|]" .RB "[\|" "\-j\ "\c .I section\c .RB " | " "\-\-section="\c .I section\c \&\|] .RB "[\|" \-l | \-\-line\-numbers "\|]" .RB "[\|" "\-m\ "\c .I machine\c .RB " | " "\-\-architecture="\c .I machine\c \&\|] .RB "[\|" \-\-prefix\-addresses "\|]" .RB "[\|" \-r | \-\-reloc "\|]" .RB "[\|" \-R | \-\-dynamic\-reloc "\|]" .RB "[\|" \-s | \-\-full\-contents "\|]" .RB "[\|" \-S | \-\-source "\|]" .RB "[\|" \-\-[no\-]show\-raw\-insn "\|]" .RB "[\|" \-\-stabs "\|]" .RB "[\|" \-t | \-\-syms "\|]" .RB "[\|" \-T | \-\-dynamic\-syms "\|]" .RB "[\|" \-x | \-\-all\-headers "\|]" .RB "[\|" "\-\-start\-address="\c .I address\c \&\|] .RB "[\|" "\-\-stop\-address="\c .I address\c \&\|] .RB "[\|" "\-\-adjust\-vma="\c .I offset\c \&\|] .RB "[\|" \-\-version "\|]" .RB "[\|" \-\-help "\|]" .I objfile\c \&.\|.\|. .ad b .hy 1 .SH 解説 \c .B objdump\c \& は一つ以上のオブジェクトファイルについて情報を表示します。 オプションで特にどの情報を表示するのかを制御します。この 情報は、単にプログラムをコンパイルして動かす事を目的とする プログラマの対極にある、コンパイルツールの仕事をしているプログラマに とって主に有用です。 .PP .IR "objfile" .\|.\|. で調べるオブジェクトファイルを指定します。 アーカイブを指定した場合は、 \c .B objdump\c \& はメンバのオブジェクトファイルそれぞれの情報を表示します。 .SH オプション ここではオプションの長い形式と短い形式を一緒に記してあり、 それらは等価です。少なくとも .B \-l (\fB\-\-line\-numbers\fP) 以外のオプションを一つは与える必要があります。 .TP .B \-a .TP .B \-\-archive\-headers .I objfile\c \& で指定された中にアーカイブがあれば、アーカイブの ヘッダ情報を (`\|\c .B ls \-l\c \|' に似た形式で) 表示します。`\|\c .B ar tv\c \|' でリストされる情報に加えて、 アーカイブの各メンバのオブジェクトファイル形式を、`\|\c .B objdump \-a\c \|' は表示します。 .TP .BI "\-\-adjust\-vma=" "offset" 情報をダンプする際に、まず .I offset をすべてのセクションのアドレスに加算します。 これはセクションのアドレスがシンボルテーブルと対応しない場合に 有効です。そのような状況は、セクションのアドレスを表現できない a.out のような形式を使って、セクションを特定のアドレスに 置く場合に起こりえます。 .TP .BI "\-b " "bfdname"\c .TP .BI "\-\-target=" "bfdname" オブジェクトファイルのオブジェクトコード形式を \c .I bfdname\c \& で指定します。これはおそらく不要です。なぜなら \c .I objdump\c \& は 多くの形式を自動で認識できるからです。例えば .sp .br objdump\ \-b\ oasys\ \-m\ vax\ \-h\ fu.o .br .sp では、Oasys のコンパイラで生成された形式の、VAX のオブジェクトファイルで あることが明示的に指定された (`\|\c .B \-m\c \|')、ファイル `\|\c .B fu.o\c \|' のセクションヘッダ (`\|\c .B \-h\c \|') からのサマリ情報を表示します。 指定可能な形式名は `\|\c .B \-i\c \|' オプションでリストできます。 .TP .B \-C .TP .B \-\-demangle シンボル名の内部表現をユーザレベルの表現にデコード (\fIdemangle\fP) します。 加えてシステムが付加した先頭のアンダースコアも取り除くので、 これによって C++ の関数名がわかりやすくなります。 .TP .B \-\-debugging デバッグ情報を表示します。ファイルに格納されているデバッグ情報を 解析して C 言語風の表記で出力する事を試みます。 いくつかの種類のデバッグ情報に関してのみ実装されています。 .TP .B \-d .TP .B \-\-disassemble .I objfile\c \& から、機械語に対応するアセンブラニーモニックを表示します。 このオプションでは機械語を含むはずのセクションだけを 逆アセンブルします。 .TP .B \-D .TP .B \-\-disassemble-all \fB\-d\fP と同様ですが、すべてのセクションの内容を 逆アセンブルします。機械語を含むはずのセクションには 限りません。 .TP .B \-\-prefix\-addresses 逆アセンブル時に、各行に完全な形のアドレスを表示します。 これは古い逆アセンブル出力形式です。 .TP .B \-\-disassemble\-zeroes 通常は逆アセンブル出力で 0 が連続する部分は飛ばされます。 このオプションは逆アセンブラに、そういった部分も他のデータと 同様に逆アセンブルするように指示します。 .TP .B \-EB .TP .B \-EL .TP .BI "\-\-endian=" "{big|little}" オブジェクトファイルのエンディアンを指定します。これは 逆アセンブルにのみ影響します。エンディアン情報を持たない、 S レコードのようなファイル形式を逆アセンブルする際に有用です。 .TP .B \-f .TP .B \-\-file\-headers .I objfile\c \& の各ファイルのヘッダ全体からのサマリ情報を表示します。 .TP .B \-h .TP .B \-\-section\-headers .TP .B \-\-headers オブジェクトファイルのセクションヘッダからサマリ情報を表示します。 .TP .B \-\-help .B objdump のオプションのサマリを表示して終了します。 .TP .B \-i .TP .B \-\-info .B \-b\c \& または \c .B \-m\c \& で指定できるアーキテクチャとオブジェクト形式の名称をリストします。 .TP .BI "\-j " "name"\c .TP .BI "\-\-section=" "name" .I name\c \& で指定したセクションの情報のみを表示します。 .TP .B \-l .TP .B \-\-line\-numbers 表示に (デバッグ情報を使って) オブジェクトコードと対応する ファイル名とソースの行番号を含めます。 \fB\-d\fP, \fB\-D\fP, \fB\-r\fP を指定した時にのみ有用です。 .TP .BI "\-m " "machine"\c .TP .BI "\-\-architecture=" "machine" オブジェクトファイルを逆アセンブルする際のアーキテクチャを指定します。 S レコードのような、アーキテクチャ情報を持たないオブジェクトファイルを 逆アセンブルする場合に有効です。 \fB\-i\fP オプションで、指定できるアーキテクチャ名をリストできます。 .TP .B \-r .TP .B \-\-reloc ファイルの再配置情報を表示します。\fB\-d\fP または \fB\-D\fP と一緒に指定された場合は、再配置情報は逆アセンブル出力に 散りばめられて表示されます。 .TP .B \-R .TP .B \-\-dynamic\-reloc ファイルの実行時再配置情報を表示します。このオプションは、 ある種の共有ライブラリなどのダイナミックオブジェクトに ついてのみ意味があります。 .TP .B \-s .TP .B \-\-full\-contents 指定されたセクションのすべての内容を表示します。 .TP .B \-S .TP .B \-\-source 可能であればソースコードを逆アセンブルに混ぜて表示します。 \fB-d\fP を暗黙的に指定します。 .TP .B \-\-show\-raw\-insn 命令を逆アセンブルする際に、ニーモニックに加えて機械語も 16 進数で 表示します。この動作は .B \-\-prefix\-addresses が指定されていない場合のデフォルトです。 .TP .B \-\-no\-show\-raw\-insn 命令を逆アセンブルする際に、機械語を表示しません。 この動作は .B \-\-prefix\-addresses を指定した場合のデフォルトです。 .TP .B \-\-stabs ELF ファイルの .stabl, .stab.index, .stab.excl セクションの内容を 表示します。 これは .stab デバッグシンボルテーブルのエントリが ELF セクションに格納されている (Solaris 2.0 のような) システムでのみ 有用です。他の大部分のファイル形式では、デバッグシンボルテーブルの エントリはリンケージシンボルに差し込まれていて、 \fB\-\-syms\fP での出力で見ることができます。 .TP .BI "\-\-start\-address=" "address" 指定されたアドレスからデータの表示を開始します。これは .B \-d\c , .B \-r\c , .B \-s オプションの出力に影響します。 .TP .BI "\-\-stop\-address=" "address" 指定されたアドレスでデータの表示を終了します。これは .B \-d\c , .B \-r\c , .B \-s オプションの出力に影響します。 .TP .B \-t .TP .B \-\-syms シンボルテーブル。ファイルのシンボルテーブルのエントリを 表示します。これは `\|\c .B nm\c \|' プログラムで得られる情報と似ています。 .TP .B \-T .TP .B \-\-dynamic\-syms ダイナミックシンボルテーブル。ファイルのダイナミックシンボルテーブルの エントリを表示します。これはある種の共有ライブラリのような ダイナミックオブジェクトでのみ意味があります。 これは `\|\c .B nm\c \|' プログラムに .B \-D (\-\-dynamic) オプションを指定した時に得られる情報と似ています。 .TP .B \-\-version .B objdump のバージョン番号を表示して終了します。 .TP .B \-x .TP .B \-\-all\-headers 得られるすべてのヘッダ情報を表示します。 シンボルテーブルと再配置情報も含まれます。`\|\c .B \-x\c \|' の指定は、 `\|\c .B \-a \-f \-h \-r \-t\c \|' のすべてを指定するのと等価です。 .SH "関連項目" .B info\c \& の .RB "`\|" binutils "\|'" の項; .I The GNU Binary Utilities\c \&, Roland H. Pesch (October 1991); .BR nm "(" 1 ")" .SH COPYING Copyright (c) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc. .PP Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. .PP Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. .PP Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. .SH 日本語訳 野首 寛高(hnokubi@yyy.or.jp): FreeBSD 用に翻訳