2. nm
URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=binutils-ja&node=nm"
"binutils/nm"へのコメント(無し)
|
nm [`-a'|`--debug-syms'] [`-g'|`--extern-only']
[`-B'] [`-C'|`--demangle'[=style]] [`-D'|`--dynamic']
[`-S'|`--print-size'] [`-s'|`--print-armap']
[`-A'|`-o'|`--print-file-name'][`--special-syms']
[`-n'|`-v'|`--numeric-sort'] [`-p'|`--no-sort']
[`-r'|`--reverse-sort'] [`--size-sort'] [`-u'|`--undefined-only']
[`-t' radix|`--radix='radix] [`-P'|`--portability']
[`--target='bfdname] [`-f'format|`--format='format]
[`--defined-only'] [`-l'|`--line-numbers'] [`--no-demangle']
[`-V'|`--version'] [`-X 32_64'] [`--help'] [objfile...]
|
GNU nm
は,オブジェクトファイルobjfile...のシン ボルをリストアップします.オブジェクトファイルが引数として与えられてい ない場合,nm
はファイルをa.out
と仮定します.
それぞれのシンボルに対し,nm
は以下を表示します.
- シンボル値で,オプションで指定されている基数(以下を参照),または,デフォ ルトの16進数になります.
- シンボル形式です.少なくとも以下の形式が使用されます.それ以外は,同様 にオブジェクトファイルのフォーマットに依存します.小文字の場合,シンボ ルはローカルです.大文字の場合,シンボルはグローバル(外部参照可能)です.
A
-
シンボルの値は絶対値で,更なるリンクで変更されません.
B
-
シンボルは初期化されていないデータセクションにあります(BSSとして知られ ています).
C
-
シンボルは共通です.共通シンボルは初期化されていないデータです.リンク 時,複数の共通シンボルは,同じ名前のものが存在してもかまいません.シン ボルがどこかで定義されている場合,共通のシンボルは未定義の参照として扱 われます. 共通シンボルの詳細は,節 `Linker options' in
The GNU linker
の`--warn-common'の記述を参照してください.
D
-
シンボルは,初期化されているデータセクションにあります.
G
-
シンボルは,小さいオブジェクトに対して初期化されているデータセクション にあります.いくつかのオブジェクトファイルのフォーマットは,グローバル な配列に対するグローバルな整数型変数のような,小さなデータオブジェクト に対するより効果的なアクセスを可能とします.
I
-
シンボルは他のシンボルへの間接参照です.これは,滅多に使用されない `a.out'オブジェクトファイル形式に対するGNU拡張です.
N
-
シンボルはデバッグシンボルです.
R
-
シンボルは読み込み専用データセクションにあります.
S
-
シンボルは小さなオブジェクトに対する初期化されていないデータセクション にあります.
T
-
シンボルはテキスト(code)セクションにあります.
U
-
シンボルは定義されていません.
V
-
シンボルはweakオブジェクトです.定義されているweakシンボルが,通常通り に定義されているシンボルとリンクされるとき,通常通りに定義されているシ ンボルがエラー無く使用されます.weakな未定義のシンボルがリンクされ,シ ンボルが定義されていないとき,weakシンボルの値はエラー無くゼロになりま す.
W
-
シンボルは,weakオブジェクトシンボルとして特殊なタグを持たないweakシン ボルです.定義されているweakシンボルが,通常通りに定義されているシンボ ルとリンクされるとき,通常通りに定義されているシンボルがエラー無く使用 されます.weakな未定義のシンボルがリンクされ,シンボルが定義されていな いとき,シンボルの値はエラー無くシンボル特有の方法で決定されます.シス テムによっては,デフォルト値が指定されている大文字で示します.
-
-
シンボルは,
a.out
オブジェクトファイルのスタブシンボルです.この 場合,次に出力される値は,スタブのその他のフィールド,スタブのdescフィー ルド,そして,スタブの形式になります.スタブシンボルは,デバッグ情報を 保つために使用されます. 詳細は,節 `Stabs Overview' in
The "stabs" debug format
を参照してください.
?
- シンボル形式が分からない,または独特のフォーマットのオブジェクトファイ ルです.
- シンボル名です.
以下で交互に表示している,オプションの長い形式と短い形式は等価です.
-A
-o
--print-file-name
-
入力ファイルの識別をそのすべてのシンボルの前に一度だけ前置するのではな く,シンボルが見つかった入力ファイル(またはアーカイブメンバー)の名前を それぞれのシンボルに前置します.
-a
--debug-syms
-
すべてのシンボルを表示し,デバッグ専用のシンボルさえも表示します.通常 はリストアップされません.
-B
-
(MIPS
nm
との互換性のための)`--format=bsd'と同じです.
-C
--demangle[=style]
-
低レベルのシンボル名をユーザレベルの名前に復号(demangle)します. システムが前置する,最初のあらゆるアンダースコアを削除するだけでなく, これでC++関数名が読みやすくなります.別々のコンパイラでは,mangle形式が 異なります.追加のdemangle形式の引数は,コンパイラに対する適切な demangle形式を選択するために使用することが可能です.demangleの情報は, See 節 9. c++filt.
--no-demangle
-
低レベルのシンボル名をdemangleしません.これはデフォルトです.
-D
--dynamic
-
通常のシンボルではなく,動的シンボルを表示します.これは,共有ライブラ リの特定の形式のような,動的オブジェクトに対してのみ意味があります.
-f format
--format=format
-
出力書式formatを使用し,書式は
bsd
,sysv
,または posix
が可能です.デフォルトはbsd
です.formatの最初 の文字のみ識別されます.それは大文字または小文字が可能です.
-g
--extern-only
-
外部シンボルのみ表示します.
-l
--line-numbers
-
それぞれのシンボルに対し,ファイル名と行番号を見つけることを試みるため, デバッグ情報を使用します.定義済シンボルに対し,シンボルのアドレスの行 番号を探します.未定義のシンボルに対し,シンボルを参照する再配置エント リーの行番号を探します.行番号の情報が見つかる場合,それを他のシンボル 情報の後に出力します.
-n
-v
--numeric-sort
-
シンボルを,名前のアルファベット順ではなく,そのアドレスで数値的に並べ 替えます.
-p
--no-sort
-
シンボルの並べ替えを全く行いません.それらを見つかった順番で出力します.
-P
--portability
-
デフォルトの書式の代わりに,POSIX.2標準出力形式を使用します. `-f posix'と同じです.
-S
--print-size
-
bsd
出力書式で,定義されているシンボルの,値ではなく大きさを出力 します.
-s
--print-armap
-
アーカイブメンバーからシンボルをリストアップするとき,索引を含めます. 名前に対する定義を含むモジュールの(
ar
やranlib
でアー カイブに保存されている)マップです.
-r
--reverse-sort
-
並べ替えの順序を(数値的またはアルファベット順によらず)逆にします.最後 のものを最初にします.
--size-sort
-
シンボルを大きさで並べ替えます.大きさは,そのシンボル値と,次に現れる より大きい値を持つシンボル値の差として計算されます.シンボル値ではなく, その大きさが出力されます.シンボルの値ではなく大きさを出力するために,
bsd
の出力書式が使用されている場合,大きさと値の両方を出力するた めに`-S'も使用する必要があります.
--special-syms
-
ターゲット固有の特殊な意味を持つシンボルを表示します.これらのシンボル は,一般的に特殊な処理を行うターゲットで使用され,通常のシンボルリスト に含めても通常は役に立ちません.例えば,ARMターゲットではこのオプション によって,ARMコード,THUMBコード,そしてデータ間の変わり目を示すために 使用されている,マップ用シンボルをスキップします.
-t radix
--radix=radix
-
radixをシンボル値を出力する基数として使用します.それは,10進数の `d',8進数の`o',または16進数の`x'にする必要があります.
--target=bfdname
-
システムのデフォルトフォーマット以外のオブジェクトコードを指定します. 詳細は,See 節 15.1 ターゲットの選択.
-u
--undefined-only
-
未定義のシンボルのみ表示します(それらはそれぞれのオブジェクトファイルの 外部にあります).
--defined-only
-
それぞれのオブジェクトファイルの定義済シンボルのみ表示します.
-V
--version
-
nm
のバージョンナンバーを表示し終了します.
-X
-
このオプションは,AIXバージョンの
nm
への互換性のため無視されま す.それは,`32_64'とする必要がある,一つのパラメータを持ちます. AIX nm
のデフォルトモードは`-X 32'に対応し,それは GNU nm
ではサポートされていません.
--help
-
nm
のオプションの概要を表示し終了します.