- -A
-
- -o
-
- --print-file-name
-
すべての記号の前に、入力ファイルを一度だけ指定するのではなく、各記号の前に、その記号が見つかった入力ファイル(またはアーカイブメンバー)の名前を指定します。
- -a
-
- --debug-syms
-
デバッガ専用のシンボルも含め、すべてのシンボルを表示します。通常、これらのシンボルはリストされません。
- -B
-
--format=bsd と同じです (MIPS nm との互換用)。
低レベルのシンボル名をユーザーレベルの名前にデコード(demangle)します。
これにより、システムによって先頭に追加されたアンダースコアが削除されるだけでなく、C++ 関数名が読みやすくなります。コンパイラが異なれば、操作スタイルも異なります。オプションの demangling style 引数を使用すると、コンパイラに適した デコード(demangling) スタイルを選択できます。
- --no-demangle
-
下位レベルのシンボル名をデコード (demangle) しません。これがデフォルトです。
- --recurse-limit
-
- --no-recurse-limit
-
- --recursion-limit
-
- --no-recursion-limit
-
文字列のデコード (demangling) 中に実行される反復の量に対する制限を有効または無効にします。名前をエンコード (mangling) する形式は無限レベルの再帰を許すので、デコード操作がホストマシンで利用可能なスタック空間の量を使い果たし、メモリ障害を引き起こすような文字列を作成する可能性があります。この制限では、再帰を 2048レベルまでのネストに制限することで、これが発生しないようにしています。
デフォルトでは、この制限は有効になっていますが、本当に複雑な名前をデコード (demangle) するには無効にする必要がある場合があります。ただし、再帰制限が無効になっている場合は、スタックが枯渇する可能性があり、そのようなイベントに関するバグレポートは拒否されることに注意してください。
- -D
-
- --dynamic
-
通常のシンボルではなく動的シンボルを表示します。これは、特定のタイプの共有ライブラリなどの動的オブジェクトに対してのみ意味があります。
- -f format
-
- --format=format
-
formatの出力形式を使用します。"bsd" 、"sysv" 、"posix" 、"just-symbols" のいずれかです。デフォルトは "bsd" です。
format の最初の文字のみが重要です。大文字または小文字のいずれかになります。
- -g
-
- --extern-only
-
外部シンボルのみを表示します。
GNU 間接ファンクションシンボルを表示する場合、 nm はデフォルトでローカル間接ファンクションとグローバル間接ファンクションの両方に "i" 文字を使用します。--ifunc-chars オプションを使用すると、ユーザは1文字または2文字を含む文字列を指定できます。最初の文字はグローバル間接機能シンボルに使用され、2番目の文字 (存在する場合) はローカル間接機能シンボルに使用されます。
- j
-
--format=just-symbols と同じです。
- -l
-
- --line-numbers
-
各シンボルについて、デバッグ情報を使用してファイル名と行番号を検索します。定義されたシンボルの場合は、シンボルのアドレスの行番号を検索します。未定義シンボルの場合、シンボルを参照する再配置エントリの行番号を検索します。行番号情報が見つかれば、他のシンボル情報の後にそれを表示します。
- --inlines
-
オプション -l を有効にすると、アドレスがインライン化されたファンクションに属している場合、このオプションによって、すべての包含スコープのソース情報が、最初のインライン化されていないファンクションに戻されて表示されます。たとえば、 "main" が "callee2" をインライン化する "callee1" をインライン化し、アドレスが "callee2" からの場合、 "callee1" と "main" のソース情報も表示されます。
- -n
-
- -v
-
- --numeric-sort
-
シンボルを名前のアルファベット順ではなく、アドレスの数値順に並べ替えます。
- -p
-
- --no-sort
-
シンボルを任意の順序で整列する必要はありません。検出された順序で出力します。
- -P
-
- --portability
-
デフォルトフォーマットの代わりに POSIX.2 標準出力フォーマットを使用します。
-f posix と同じです。
- -r
-
- --reverse-sort
-
整列の順序を逆にします(数値またはアルファベット)。最後のものを最初にします。
- -S
-
- --print-size
-
"bsd" 形式で出力するシンボルの値とサイズの両方を表示します。
このオプションは、計算されたサイズが表示される --size-sort も使用されない限り、シンボルサイズを記録しないオブジェクト形式には影響しません。
- -s
-
- --print-armap
-
アーカイブメンバーからシンボルをリストする場合は、インデックスを含めます。インデックスとは、どのモジュールにどの名前の定義が含まれているかを示すマッピング( ar または ranlib別にアーカイブに保存されています)です。
- -t radix
-
- --radix=radix
-
シンボル値を表示するための基数としてradix を使用します。10進数は d、8進数は o 、16進数はx である必要があります。
- -u
-
- --undefined-only
-
未定義のシンボル(各オブジェクトファイルの外部にあるシンボル)のみを表示します。
デフォルトでは、定義済みシンボルと未定義シンボルの両方が表示されます。
- -U
-
- --defined-only
-
各オブジェクトファイルに定義されたシンボルのみを表示します。
デフォルトでは、定義済みシンボルと未定義シンボルの両方が表示されます。
- -V
-
- --version
-
nm のバージョンを表示して終了します。
このオプションは、nm の AIX バージョンとの互換のために無視されます。これはパラメーターを 1つ取りますが、これは文字列 32_64 でなければなりません。AIX nm のデフォルト・モードは -X 32 に対応していますが、これは GNU nm ではサポートされていません。
- --plugin name
-
name というプラグインをロードして、追加のターゲット・タイプのサポートを追加します。このオプションは、プラグインサポートを有効にしてツールチェーンを構築した場合にのみ使用できます。
--plugin が指定されていないが、プラグインサポートが有効になっている場合、nm は${libdir}/bfd-plugins 内のファイルをアルファベット順に繰り返し、問題のオブジェクトを要求する最初のプラグインが使用されます。
このプラグイン検索ディレクトリは、ld の -plugin オプションで使用されるものではないことに注意してください。nm でリンカープラグインを使用するには、それを${libdir}/bfd-plugins ディレクトリにコピーする必要があります。GCC ベースのコンパイルでは、リンカープラグインは liblto_plugin.so.0.0.0 と呼ばれます。Clang ベースのコンパイルでは、LLVMgold.so と呼ばれます。GCC プラグインは常に以前のバージョンと下位互換性があるため、最新のものをコピーするだけで十分です。
- --size-sort
-
サイズでシンボルを整列します。ELF オブジェクトの場合、シンボルサイズは EL Fから読み込まれます。その他のオブジェクトタイプの場合、シンボルサイズは、シンボルの値と次に大きい値を持つシンボルの値との差として計算されます。"bsd" フォーマットを使用する場合は、値ではなくシンボルのサイズが出力されます。サイズと値の両方を出力するには、-S フォーマットを使用する必要があります。
注意 - 未定義シンボルにはサイズがないため、--undefined-only が有効になっている場合、このオプションは機能しません。
- --special-syms
-
ターゲット固有の特別な意味を持つシンボルを表示します。これらのシンボルは通常、何らかの特別な処理のためにターゲットによって使用され、通常のシンボルリストに含まれている場合、通常は役に立ちません。
たとえば、ARM ターゲットの場合、このオプションは ARM コード、THUMB コード、およびデータ間の遷移を示すために使用されるマッピングシンボルをスキップします。
- --synthetic
-
出力に Synthetic シンボルを含めます。これらは、さまざまな目的のためにリンカーによって作成された特別なシンボルです。これらはバイナリの元のソースコードの一部ではないため、デフォルトでは表示されません。
- --unicode=[default|invalid|locale|escape|hex|highlight]
-
文字列内の UTF-8 エンコード・マルチバイト文字の表示を制御します。
デフォルト(--unicode=default)では、特別な処理は行われません。--unicode=locale オプションを選択すると、シーケンスが現在のロケールで表示されます。ロケールによっては、サポートされない場合もあります。オプション --unicode=hex および --unicode=invalid では、不等号括弧または波括弧で囲まれた 16進バイト列として表示されます。
--unicode=escape オプションを選択すると、これらはエスケープシーケンス(\uxxxx) として表示され、--unicode=highlight オプションを選択すると、赤色で強調表示されたエスケープシーケンスとして表示されます (出力デバイスでサポートされている場合)。色分けは、ユニコード配列の存在が予期されない場合に注意を引くことを目的としています。
- -W
-
- --no-weak
-
ウィークシンボルを表示しません。
- --with-symbol-versions
-
- --without-symbol-versions
-
シンボルのバージョン情報の表示を有効または無効にします. バージョン文字列は、シンボル名の接尾辞として表示され、先頭に @ 文字が付きます。例 foo@VER_1。バージョンが、シンボルへのバージョン化されていない参照を解決するときに使用されるデフォルトのバージョンである場合、2つの @ 文字の後に接尾辞として表示されます。例 foo@@VER_2。デフォルトでは、シンボルのバージョン情報が表示されます。
- --target=bfdname
-
システムのデフォルト形式以外のオブジェクトコード形式を指定します。
Xrefなので削る
- @file
-
file からコマンドラインオプションを読み込みます。読み込まれた
オプションは、元の @file オプションの代わりに挿入されます。
fileが存在しない場合、または読み込めない場合、オプションは
文字通りに扱われ、削除されません。
file 中のオプションは空白で区切られます。空白文字は、オプション
全体を一重引用符または二重引用符で囲むことによってオプションに含める
ことができます。任意の文字 (バックスラッシュを含む) は、含まれる文字の
前にバックスラッシュを付けることによって含めることができます。
file 自体に追加の @file オプションを含めることができます。
このようなオプションは再帰的に処理されます。
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts. A copy of the license is included in the
section entitled "GNU Free Documentation License".