'\" te .\" Copyright 1989 AT&T .\" Copyright (c) 2007, 2013, Oracle and/or its affiliates.All rights reserved .\" Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/. .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html. This notice shall appear on any product containing this material. .TH nm 1 "2013 年 9 月 10 日" "SunOS 5.11" "ユーザーコマンド" .SH 名前 nm \- オブジェクトファイルのネームリストを表示 .SH 形式 .LP .nf \fB/usr/bin/nm\fR [\fB-ACDhLlnPpRrsTVv\fR] [\fB-efox\fR] [\fB-g\fR | \fB-u\fR] [\fB-t\fR \fIformat\fR] \fIfile\fR... .fi .LP .nf \fB/usr/xpg4/bin/nm\fR [\fB-ACDhLlnPpRrsTVv\fR] [\fB-efox\fR] [\fB-g\fR | \fB-u\fR] [\fB-t\fR \fIformat\fR] \fIfile\fR... .fi .SH 機能説明 .sp .LP \fBnm\fR ユーティリティーは、\fIfile\fR オペランドで指定された \fBELF\fR オブジェクトファイルのそれぞれに対して、シンボルテーブルを表示します。 .sp .LP 正しいファイルが指定されたにもかかわらず、そのファイルのシンボリック情報が存在しないとき、\fBnm\fR ユーティリティーはそのことを報告します。これはエラーとは見なされません。 .SH オプション .sp .LP 次のオプションを使って、\fBnm\fR の出力内容を制御できます。 .sp .ne 2 .mk .na \fB\fB-A\fR\fR .ad .RS 13n .rt 各行に、オブジェクトの完全パス名とライブラリ名を出力します。 .RE .sp .ne 2 .mk .na \fB\fB-C\fR\fR .ad .RS 13n .rt C++ シンボル名を、表示する前に複合化します。 .RE .sp .ne 2 .mk .na \fB\fB-D\fR\fR .ad .RS 13n .rt \fBSHT_DYNSYM\fR シンボル情報を表示します。これは \fBld.so.1\fR によって使用されるシンボルテーブルで、ストリップされた動的実行可能ファイルにも存在します。\fB-D\fR が指定されていない場合、デフォルトの動作では \fBSHT_SYMTAB\fR シンボル情報が表示されます。 .RE .sp .ne 2 .mk .na \fB\fB-e\fR\fR .ad .RS 13n .rt (「注意事項」を参照) .RE .sp .ne 2 .mk .na \fB\fB-f\fR\fR .ad .RS 13n .rt (「注意事項」を参照) .RE .sp .ne 2 .mk .na \fB\fB-g\fR\fR .ad .RS 13n .rt 外部 (グローバル) シンボル情報だけを出力します。 .RE .sp .ne 2 .mk .na \fB\fB-h\fR\fR .ad .RS 13n .rt 見出しのデータを表示しません。 .RE .sp .ne 2 .mk .na \fB\fB-L\fR\fR .ad .RS 13n .rt \fBSHT_SUNW_LDYNSYM\fR シンボル情報を表示します。このシンボルテーブルには、ローカル関数シンボルが含まれます。\fBSHT_SUNW_LDYNSM\fR シンボルテーブルは、取り除かれた動的実行可能ファイルにも存在します。これらのシンボルによって、\fB SHT_DYNSYM\fR シンボルテーブルで見つかるグローバルシンボルが増加します。\fB-L\fR が指定されていない場合、デフォルトの動作では \fBSHT_SYMTAB\fR シンボル情報が表示されます。 .RE .sp .ne 2 .mk .na \fB\fB-l\fR\fR .ad .RS 13n .rt \fB-p\fR または \fB-P\fR オプションとともに使用すると、\fBWEAK\fR と \fBGLOBAL\fR のシンボルを、\fBWEAK\fR シンボルのキー文字に * を付加することにより区別します。 .RE .sp .ne 2 .mk .na \fB\fB-n\fR\fR .ad .RS 13n .rt 外部シンボルを、名前順にソートして出力します。 .RE .sp .ne 2 .mk .na \fB\fB-o\fR\fR .ad .RS 13n .rt シンボルの値とサイズを、10 進数ではなく 8 進数で出力します (\fB-t\fR \fBo\fR と同等)。 .RE .sp .ne 2 .mk .na \fB\fB-p\fR\fR .ad .RS 13n .rt 簡単に解析できる、簡易形式の出力を生成します。各シンボル名の前には、シンボルの値 (未定義なら空白) と、シンボルの状態を示す文字が表示されます。その文字とは次のいずれかです。 .sp .ne 2 .mk .na \fB\fBA\fR\fR .ad .RS 6n .rt 絶対シンボル .RE .sp .ne 2 .mk .na \fB\fBB\fR\fR .ad .RS 6n .rt bss (初期化されていないデータスペース) シンボル .RE .sp .ne 2 .mk .na \fB\fBC\fR\fR .ad .RS 6n .rt COMMON シンボル .RE .sp .ne 2 .mk .na \fB\fBD\fR\fR .ad .RS 6n .rt データオブジェクトシンボル .RE .sp .ne 2 .mk .na \fB\fBF\fR\fR .ad .RS 6n .rt ファイルシンボル .RE .sp .ne 2 .mk .na \fB\fBN\fR\fR .ad .RS 6n .rt タイプのないシンボル .RE .sp .ne 2 .mk .na \fB\fBL\fR\fR .ad .RS 6n .rt スレッドローカル記憶領域シンボル .RE .sp .ne 2 .mk .na \fB\fBR\fR\fR .ad .RS 6n .rt レジスタシンボル .RE .sp .ne 2 .mk .na \fB\fBS\fR\fR .ad .RS 6n .rt セクションシンボル .RE .sp .ne 2 .mk .na \fB\fBT\fR \fR .ad .RS 6n .rt テキストシンボル .RE .sp .ne 2 .mk .na \fB\fBU\fR\fR .ad .RS 6n .rt 未定義 .RE シンボルのバインディング属性の意味は次のとおりです。 .sp .ne 2 .mk .na \fB\fBLOCAL\fR\fR .ad .RS 10n .rt このキー文字は小文字 .RE .sp .ne 2 .mk .na \fB\fBWEAK\fR\fR .ad .RS 10n .rt このキー文字は大文字。また \fB-l\fR 修飾子が指定されていると、大文字のキー文字の後に \fB*\fR が付加される .RE .sp .ne 2 .mk .na \fB\fBGLOBAL\fR\fR .ad .RS 10n .rt このキー文字は大文字。 .RE .RE .sp .ne 2 .mk .na \fB\fB-P\fR\fR .ad .RS 13n .rt 後述の「標準出力」の項で述べるような、移植性のある出力形式で情報を出力します。\fB\fR .RE .sp .ne 2 .mk .na \fB\fB-r\fR\fR .ad .RS 13n .rt 各シンボル名の前にオブジェクトファイル名またはアーカイブメンバー名を付加して、\fIobject\fR\fB:\fR\fIsymbol\fR の形式にします。 .RE .sp .ne 2 .mk .na \fB\fB-R\fR\fR .ad .RS 13n .rt アーカイブを処理する場合は、各シンボル名の前にアーカイブ名とアーカイブメンバー名を付加して、\fIarchive\fR\fB:\fR\fImember\fR\fB:\fR\fIsymbol\fR の形式にします。アーカイブ以外を処理する場合、\fB-R\fR オプションは \fB-r\fR と同等です。\fB-r\fR オプションが同時に指定されている場合には、この R オプションは無視されます。 .RE .sp .ne 2 .mk .na \fB\fB-s\fR\fR .ad .RS 13n .rt セクションインデックスの代わりにセクション名を出力します。 .RE .sp .ne 2 .mk .na \fB\fB-t\fR \fIformat\fR\fR .ad .RS 13n .rt 個々の数値を指定された形式で出力します。出力形式は、オプション引数の \fIformat\fR により 1 文字で指定します。 .sp .ne 2 .mk .na \fB\fBd\fR\fR .ad .RS 5n .rt オフセットを 10 進数で出力 (デフォルト) .RE .sp .ne 2 .mk .na \fB\fBo\fR\fR .ad .RS 5n .rt オフセットを 8 進数で出力 .RE .sp .ne 2 .mk .na \fB\fBx\fR\fR .ad .RS 5n .rt オフセットを 16 進数で出力 .RE .RE .sp .ne 2 .mk .na \fB\fB-T\fR \fR .ad .RS 13n .rt 「\fB注意事項\fR」 を参照してください。 .RE .SS "/usr/bin/nm" .sp .ne 2 .mk .na \fB\fB-u\fR\fR .ad .RS 6n .rt 未定義のシンボルだけを出力します。このオプションを指定した場合、\fB-p\fR および \fB-P\fR オプションは無視されます。 .RE .SS "/usr/xpg4/bin/nm" .sp .ne 2 .mk .na \fB\fB-u\fR\fR .ad .RS 7n .rt 未定義の各シンボルについての一覧を出力します。後述の「出力」を参照してください。\fB\fR .RE .sp .ne 2 .mk .na \fB\fB-v\fR\fR .ad .RS 7n .rt 外部シンボルを、値の順にソートして出力します。 .RE .sp .ne 2 .mk .na \fB\fB-V\fR \fR .ad .RS 7n .rt 実行した \fBnm\fR コマンドのバージョンを標準エラー出力に書き出します。 .RE .sp .ne 2 .mk .na \fB\fB-x\fR\fR .ad .RS 7n .rt シンボルの値とサイズを、10 進数ではなく 16 進数で出力します (\fB-t\fR \fBx\fR と同等)。 .RE .sp .LP オプションは任意の順序で、単独でも組み合わせても使用できます。矛盾する組み合せでオプションを指定すると (たとえば \fB-v\fR と \fB-n\fR または、\fB-o\fR と \fB-x\fR )、最初のオプションが有効となり、2 番目は無視されて警告メッセージが出力されます例外については、\fB-R\fR、および \fB/usr/bin/nm\fR 形式の \fB-u\fR を参照してください。 .SH オペランド .sp .LP 次のオペランドを指定できます。 .sp .ne 2 .mk .na \fB\fIfile\fR\fR .ad .RS 8n .rt オブジェクトファイル、実行可能ファイル、またはオブジェクトファイルライブラリのパス名 .RE .SH 出力 .sp .LP このセクションでは、\fBnm\fR ユーティリティーの出力オプションについて説明します。 .SS "標準出力" .sp .LP 各シンボルに関して次の情報を出力します。 .sp .ne 2 .mk .na \fB\fBIndex\fR\fR .ad .RS 15n .rt シンボルのインデックスです (インデックスは大括弧 [ ] で囲んで表示されます)。 .RE .sp .ne 2 .mk .na \fB\fBValue\fR\fR .ad .RS 15n .rt シンボルの値で、次のいずれかです。 .RS +4 .TP .ie t \(bu .el o 再配置可能ファイル中で定義されている シンボルのセクションオフセット .RE .RS +4 .TP .ie t \(bu .el o セクションインデックスが \fBSHN_COMMON\fR であるシンボルの境界合わせ上の制約 .RE .RS +4 .TP .ie t \(bu .el o 実行可能および動的ライブラリファイル中の仮想アドレス .RE .RE .sp .ne 2 .mk .na \fB\fBSize\fR\fR .ad .RS 15n .rt 対応するオブジェクトのサイズで、単位はバイトです。 .RE .sp .ne 2 .mk .na \fB\fBType\fR\fR .ad .RS 15n .rt シンボルのタイプで、次のいずれかです。 .sp .ne 2 .mk .na \fB\fBNOTYPE\fR\fR .ad .RS 11n .rt タイプは指定されていない .RE .sp .ne 2 .mk .na \fB\fBOBJECT\fR\fR .ad .RS 11n .rt 配列や変数のようなデータオブジェクト .RE .sp .ne 2 .mk .na \fB\fBFUNC\fR\fR .ad .RS 11n .rt 関数あるいはほかの実行可能コード .RE .sp .ne 2 .mk .na \fB\fBREGI\fR\fR .ad .RS 11n .rt レジスタシンボル (\fBSPARC\fR の場合のみ) .RE .sp .ne 2 .mk .na \fB\fBSECTION\fR\fR .ad .RS 11n .rt セクションシンボル .RE .sp .ne 2 .mk .na \fB\fBFILE\fR\fR .ad .RS 11n .rt ソースファイル名 .RE .sp .ne 2 .mk .na \fB\fBCOMMON\fR\fR .ad .RS 11n .rt 初期化されていない共通ブロック .RE .sp .ne 2 .mk .na \fB\fBTLS\fR\fR .ad .RS 11n .rt スレッドローカル記憶領域に関連する変数 .RE .RE .sp .ne 2 .mk .na \fB\fBBind\fR\fR .ad .RS 15n .rt シンボルのバインディング属性で、次のいずれかです。 .sp .ne 2 .mk .na \fB\fBLOCAL\fR\fR .ad .RS 11n .rt このシンボルのスコープは、その定義を含んでいるオブジェクトファイルに限定されている .RE .sp .ne 2 .mk .na \fB\fBGLOBAL\fR \fR .ad .RS 11n .rt このシンボルは、結合されている すべてのオブジェクトファイルから見ることができる .RE .sp .ne 2 .mk .na \fB\fBWEAK\fR \fR .ad .RS 11n .rt このシンボルは、実質的にはグローバルシンボルだが、\fBGLOBAL\fR よりも優先順位は低い .RE .RE .sp .ne 2 .mk .na \fB\fBOther\fR\fR .ad .RS 15n .rt \fB\fR で定義されている、いずれかの \fBSTV_\fR シンボル可視性の値に対応する整数。 .RE .sp .ne 2 .mk .na \fB\fBShndx\fR\fR .ad .RS 15n .rt シンボル定義のもととなる、セクションヘッダーテーブルインデックスです。ただし例外として、3 つの特殊な値のいずれかが表示されることがあります。次の特殊な値があります。 .sp .ne 2 .mk .na \fB\fBABS\fR\fR .ad .RS 10n .rt シンボルの値は再配置しても変わらないことをを表します。 .RE .sp .ne 2 .mk .na \fB\fBCOMMON\fR\fR .ad .RS 10n .rt 未割付ブロックを表し、値は境界合わせ用の制約を表す .RE .sp .ne 2 .mk .na \fB\fBUNDEF\fR\fR .ad .RS 10n .rt 未定義のシンボルを表す .RE .RE .sp .ne 2 .mk .na \fB\fBName\fR\fR .ad .RS 15n .rt シンボル名です。 .RE .sp .ne 2 .mk .na \fB\fBObject Name\fR\fR .ad .RS 15n .rt \fB-A\fR オプションが指定されているとき、オブジェクトまたはライブラリの 名前を表します。 .RE .sp .LP \fB-P\fR オプションが指定された場合には、前述の情報が次に説明する移植性のある形式で出力されます。この形式には 3 種類あり、\fB-t\fR \fBd\fR 、\fB-t\fR \fBo\fR、\fB-t\fR \fBx\fR のどれが指定されたかによって使い分けられます。 .sp .in +2 .nf \fB"%s%s %s %d %d\en",\fR \fIlibrary/object name\fR, \fIname\fR, \fItype\fR, \fIvalue\fR, \fIsize\fR .fi .in -2 .sp .sp .in +2 .nf \fB"%s%s %s %o %o\en",\fR \fIlibrary/object name\fR, \fIname\fR, \fItype\fR, \fIvalue\fR, \fIsize\fR .fi .in -2 .sp .sp .in +2 .nf \fB"%s%s %s %x %x\en",\fR \fIlibrary/object name\fR, \fIname\fR, \fItype\fR, \fIvalue\fR, \fIsize\fR .fi .in -2 .sp .sp .LP ここで、\fItype\fR の形式は \fB-p\fR オプションの説明と同じであり、\fIlibrary/object name\fR の形式は次のとおりです。 .RS +4 .TP .ie t \(bu .el o \fB-A\fR が指定されていなければ <\fIlibrary/object name\fR> は空の文字列です。 .RE .RS +4 .TP .ie t \(bu .el o \fB-A\fR が指定され、対応する \fIfile\fR オペランドがライブラリ名を示していない場合は、次のようになります。 .sp .in +2 .nf \fB"%s: ", \fIfile\fR\fR .fi .in -2 .sp .RE .RS +4 .TP .ie t \(bu .el o \fB-A\fR が指定され、対応する \fIfile\fR オペランドがライブラリ名を示している場合には、次のようになります。なお <\fIobject file\fR> は、該当するシンボルを含んでいるライブラリのオブジェクトファイル名です。 .sp .in +2 .nf \fB"%s[%s]: ", \fIfile\fR, \fIobject file\fR\fR .fi .in -2 .sp .RE .sp .LP \fB-A\fR が省略されたとき、\fIfile\fR オペランドが複数指定されているか、あるいは 1 つだけ指定された \fIfile\fR オペランドがライブラリを表していれば、\fBnm\fR は、後続のシンボルを含むオブジェクトを識別する行を、そのシンボルを含む行の前に出力します。出力形式は次のとおりです。 .RS +4 .TP .ie t \(bu .el o 対応する \fIfile\fR オペランドがライブラリ名を示していないとき .sp .in +2 .nf \fB"%s:\en", \fIfile\fR\fR .fi .in -2 .sp .RE .RS +4 .TP .ie t \(bu .el o 対応する \fIfile\fR オペランドがライブラリ名を示しているとき (なお <\fIobject file\fR> は、後続のシンボルを含むライブラリ中のファイル名) .sp .in +2 .nf \fB"%s[%s]:\en", \fIfile\fR, \fIobject file\fR\fR .fi .in -2 .sp .RE .sp .LP \fB-P\fR が指定され、\fB-t\fR が省略された場合には、出力形式は \fB-t\fR \fBx\fR が指定された場合と同一になります。 .SH 環境 .sp .LP \fBnm\fR の実行に影響を与える次の環境変数についての詳細は、\fBenviron\fR(5) を参照してください。\fBLANG\fR、\fBLC_ALL\fR、\fBLC_COLLATE\fR、\fBLC_CTYPE\fR、\fBLC_MESSAGES\fR、および \fBNLSPATH\fR。 .SH 終了ステータス .sp .LP 次の終了ステータスが返されます。 .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 6n .rt 正常終了。 .RE .sp .ne 2 .mk .na \fB>\fB0\fR\fR .ad .RS 6n .rt エラーが発生した。 .RE .SH 属性 .sp .LP 属性についての詳細は、マニュアルページの \fBattributes\fR(5) を参照してください。 .SS "/usr/bin/nm" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件developer/base-developer-utilities .TE .SS "/usr/xpg4/bin/nm" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/xopen/xcu4 _ インタフェースの安定性確実 .TE .SH 関連項目 .sp .LP \fBar\fR(1), \fBas\fR(1), \fBdump\fR(1), \fBld\fR(1), \fBld.so.1\fR(1), \fBar.h\fR(3HEAD), \fBa.out\fR(4), \fBattributes\fR(5), \fBenviron\fR(5), \fBstandards\fR(5) .SH 注意事項 .sp .LP 次のオプションは、オブジェクトファイルの形式が変わってしまったため廃止されています。将来のリリースで削除される可能性があります。 .sp .ne 2 .mk .na \fB\fB-e\fR\fR .ad .RS 7n .rt 外部シンボルと静的シンボルだけを出力します。現在、シンボルテーブルには、この 2 つしか含まれていません。自動シンボルは、シンボルテーブル内には存在しなくなり、\fBcc\fR \fB-g\fR で生成されるデバッグ情報に出力されます。この情報は、\fBdump\fR(1) を使って検査できます。 .RE .sp .ne 2 .mk .na \fB\fB-f\fR\fR .ad .RS 7n .rt 完全な出力を生成します。なお \fB\&.text\fR や \fB\&.data\fR などの冗長シンボルは、現在はもう存在していません。したがってこの完全出力の生成は、デフォルト出力の生成と同じ意味になります。 .RE .sp .ne 2 .mk .na \fB\fB-T\fR \fR .ad .RS 7n .rt デフォルトで、\fBnm\fR はシンボルの名前全体を出力します。シンボル名の出力カラムの位置が最終カラムに移動したので、オーバーフローの心配はなく、シンボル名を途中で切り捨てる必要はなくなりました。 .RE