| .\" Automatically generated by Pod::Man version 1.02 |
| .\" Wed May 30 12:24:27 2001 |
| .\" |
| .\" Standard preamble: |
| .\" ====================================================================== |
| .de Sh \" Subsection heading |
| .br |
| .if t .Sp |
| .ne 5 |
| .PP |
| \fB\\$1\fR |
| .PP |
| .. |
| .de Sp \" Vertical space (when we can't use .PP) |
| .if t .sp .5v |
| .if n .sp |
| .. |
| .de Ip \" List item |
| .br |
| .ie \\n(.$>=3 .ne \\$3 |
| .el .ne 3 |
| .IP "\\$1" \\$2 |
| .. |
| .de Vb \" Begin verbatim text |
| .ft CW |
| .nf |
| .ne \\$1 |
| .. |
| .de Ve \" End verbatim text |
| .ft R |
| |
| .fi |
| .. |
| .\" Set up some character translations and predefined strings. \*(-- will |
| .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left |
| .\" double quote, and \*(R" will give a right double quote. | will give a |
| .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used |
| .\" to do unbreakable dashes and therefore won't be available. \*(C` and |
| .\" \*(C' expand to `' in nroff, nothing in troff, for use with C<> |
| .tr \(*W-|\(bv\*(Tr |
| .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' |
| .ie n \{\ |
| . ds -- \(*W- |
| . ds PI pi |
| . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch |
| . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch |
| . ds L" "" |
| . ds R" "" |
| . ds C` ` |
| . ds C' ' |
| 'br\} |
| .el\{\ |
| . ds -- \|\(em\| |
| . ds PI \(*p |
| . ds L" `` |
| . ds R" '' |
| 'br\} |
| .\" |
| .\" If the F register is turned on, we'll generate index entries on stderr |
| .\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and |
| .\" index entries marked with X<> in POD. Of course, you'll have to process |
| .\" the output yourself in some meaningful fashion. |
| .if \nF \{\ |
| . de IX |
| . tm Index:\\$1\t\\n%\t"\\$2" |
| . . |
| . nr % 0 |
| . rr F |
| .\} |
| .\" |
| .\" For nroff, turn off justification. Always turn off hyphenation; it |
| .\" makes way too many mistakes in technical documents. |
| .hy 0 |
| .\" |
| .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). |
| .\" Fear. Run. Save yourself. No user-serviceable parts. |
| .bd B 3 |
| . \" fudge factors for nroff and troff |
| .if n \{\ |
| . ds #H 0 |
| . ds #V .8m |
| . ds #F .3m |
| . ds #[ \f1 |
| . ds #] \fP |
| .\} |
| .if t \{\ |
| . ds #H ((1u-(\\\\n(.fu%2u))*.13m) |
| . ds #V .6m |
| . ds #F 0 |
| . ds #[ \& |
| . ds #] \& |
| .\} |
| . \" simple accents for nroff and troff |
| .if n \{\ |
| . ds ' \& |
| . ds ` \& |
| . ds ^ \& |
| . ds , \& |
| . ds ~ ~ |
| . ds / |
| .\} |
| .if t \{\ |
| . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" |
| . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' |
| . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' |
| . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' |
| . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' |
| . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' |
| .\} |
| . \" troff and (daisy-wheel) nroff accents |
| .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' |
| .ds 8 \h'\*(#H'\(*b\h'-\*(#H' |
| .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] |
| .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' |
| .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' |
| .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] |
| .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] |
| .ds ae a\h'-(\w'a'u*4/10)'e |
| .ds Ae A\h'-(\w'A'u*4/10)'E |
| . \" corrections for vroff |
| .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' |
| .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' |
| . \" for low resolution devices (crt and lpr) |
| .if \n(.H>23 .if \n(.V>19 \ |
| \{\ |
| . ds : e |
| . ds 8 ss |
| . ds o a |
| . ds d- d\h'-1'\(ga |
| . ds D- D\h'-1'\(hy |
| . ds th \o'bp' |
| . ds Th \o'LP' |
| . ds ae ae |
| . ds Ae AE |
| .\} |
| .rm #[ #] #H #V #F C |
| .\" ====================================================================== |
| .\" |
| .IX Title "NM.1 1" |
| .TH NM.1 1 "binutils-2.11.90" "2001-05-30" "GNU" |
| .UC |
| .SH "NAME" |
| nm \- list symbols from object files |
| .SH "SYNOPSIS" |
| .IX Header "SYNOPSIS" |
| nm [ \-a | \-\-debug-syms ] [ \-g | \-\-extern-only ] |
| [ \-B ] [ \-C | \-\-demangle[=\fIstyle\fR] ] [ \-D | \-\-dynamic ] |
| [ \-s | \-\-print-armap ] [ \-A | \-o | \-\-print-file-name ] |
| [ \-n | \-v | \-\-numeric-sort ] [ \-p | \-\-no-sort ] |
| [ \-r | \-\-reverse-sort ] [ \-\-size-sort ] [ \-u | \-\-undefined-only ] |
| [ \-t \fIradix\fR | \-\-radix=\fIradix\fR ] [ \-P | \-\-portability ] |
| [ \-\-target=\fIbfdname\fR ] [ \-f \fIformat\fR | \-\-format=\fIformat\fR ] |
| [ \-\-defined-only ] [\-l | \-\-line-numbers ] [ \-\-no-demangle ] |
| [ \-V | \-\-version ] [ \-X 32_64 ] [ \-\-help ] [ \fIobjfile\fR... ] |
| .SH "DESCRIPTION" |
| .IX Header "DESCRIPTION" |
| \&\s-1GNU\s0 \f(CW\*(C`nm\*(C'\fR lists the symbols from object files \fIobjfile\fR.... |
| If no object files are listed as arguments, \f(CW\*(C`nm\*(C'\fR assumes the file |
| \&\fIa.out\fR. |
| .PP |
| For each symbol, \f(CW\*(C`nm\*(C'\fR shows: |
| .Ip "\(bu" 4 |
| The symbol value, in the radix selected by options (see below), or |
| hexadecimal by default. |
| .Ip "\(bu" 4 |
| The symbol type. At least the following types are used; others are, as |
| well, depending on the object file format. If lowercase, the symbol is |
| local; if uppercase, the symbol is global (external). |
| .RS 4 |
| .Ip "\f(CW\*(C`A\*(C'\fR" 4 |
| .IX Item "A" |
| The symbol's value is absolute, and will not be changed by further |
| linking. |
| .Ip "\f(CW\*(C`B\*(C'\fR" 4 |
| .IX Item "B" |
| The symbol is in the uninitialized data section (known as \s-1BSS\s0). |
| .Ip "\f(CW\*(C`C\*(C'\fR" 4 |
| .IX Item "C" |
| The symbol is common. Common symbols are uninitialized data. When |
| linking, multiple common symbols may appear with the same name. If the |
| symbol is defined anywhere, the common symbols are treated as undefined |
| references. |
| .Ip "\f(CW\*(C`D\*(C'\fR" 4 |
| .IX Item "D" |
| The symbol is in the initialized data section. |
| .Ip "\f(CW\*(C`G\*(C'\fR" 4 |
| .IX Item "G" |
| The symbol is in an initialized data section for small objects. Some |
| object file formats permit more efficient access to small data objects, |
| such as a global int variable as opposed to a large global array. |
| .Ip "\f(CW\*(C`I\*(C'\fR" 4 |
| .IX Item "I" |
| The symbol is an indirect reference to another symbol. This is a \s-1GNU\s0 |
| extension to the a.out object file format which is rarely used. |
| .Ip "\f(CW\*(C`N\*(C'\fR" 4 |
| .IX Item "N" |
| The symbol is a debugging symbol. |
| .Ip "\f(CW\*(C`R\*(C'\fR" 4 |
| .IX Item "R" |
| The symbol is in a read only data section. |
| .Ip "\f(CW\*(C`S\*(C'\fR" 4 |
| .IX Item "S" |
| The symbol is in an uninitialized data section for small objects. |
| .Ip "\f(CW\*(C`T\*(C'\fR" 4 |
| .IX Item "T" |
| The symbol is in the text (code) section. |
| .Ip "\f(CW\*(C`U\*(C'\fR" 4 |
| .IX Item "U" |
| The symbol is undefined. |
| .Ip "\f(CW\*(C`V\*(C'\fR" 4 |
| .IX Item "V" |
| The symbol is a weak object. When a weak defined symbol is linked with |
| a normal defined symbol, the normal defined symbol is used with no error. |
| When a weak undefined symbol is linked and the symbol is not defined, |
| the value of the weak symbol becomes zero with no error. |
| .Ip "\f(CW\*(C`W\*(C'\fR" 4 |
| .IX Item "W" |
| The symbol is a weak symbol that has not been specifically tagged as a |
| weak object symbol. When a weak defined symbol is linked with a normal |
| defined symbol, the normal defined symbol is used with no error. |
| When a weak undefined symbol is linked and the symbol is not defined, |
| the value of the weak symbol becomes zero with no error. |
| .Ip "\f(CW\*(C`\-\*(C'\fR" 4 |
| .IX Item "-" |
| The symbol is a stabs symbol in an a.out object file. In this case, the |
| next values printed are the stabs other field, the stabs desc field, and |
| the stab type. Stabs symbols are used to hold debugging information; |
| for more information, see \f(CW@ref\fR{Top,Stabs,Stabs Overview,stabs.info, The |
| ``stabs'' debug format}. |
| .Ip "\f(CW\*(C`?\*(C'\fR" 4 |
| .IX Item "?" |
| The symbol type is unknown, or object file format specific. |
| .RE |
| .RS 4 |
| .RE |
| .Ip "\(bu" 4 |
| The symbol name. |
| .SH "OPTIONS" |
| .IX Header "OPTIONS" |
| The long and short forms of options, shown here as alternatives, are |
| equivalent. |
| .Ip "\f(CW\*(C`\-A\*(C'\fR" 4 |
| .IX Item "-A" |
| .Ip "\f(CW\*(C`\-o\*(C'\fR" 4 |
| .IX Item "-o" |
| .Ip "\f(CW\*(C`\-\-print\-file\-name \*(C'\fR" 4 |
| .IX Item "--print-file-name " |
| Precede each symbol by the name of the input file (or archive member) |
| in which it was found, rather than identifying the input file once only, |
| before all of its symbols. |
| .Ip "\f(CW\*(C`\-a\*(C'\fR" 4 |
| .IX Item "-a" |
| .Ip "\f(CW\*(C`\-\-debug\-syms \*(C'\fR" 4 |
| .IX Item "--debug-syms " |
| Display all symbols, even debugger-only symbols; normally these are not |
| listed. |
| .Ip "\f(CW\*(C`\-B\*(C'\fR" 4 |
| .IX Item "-B" |
| The same as \fB\*(--format=bsd\fR (for compatibility with the \s-1MIPS\s0 \f(CW\*(C`nm\*(C'\fR). |
| .Ip "\f(CW\*(C`\-C\*(C'\fR" 4 |
| .IX Item "-C" |
| .Ip "\f(CW\*(C`\-\-demangle[=\f(CIstyle\f(CW]\*(C'\fR" 4 |
| .IX Item "--demangle[=style]" |
| Decode (\fIdemangle\fR) low-level symbol names into user-level names. |
| Besides removing any initial underscore prepended by the system, this |
| makes \*(C+ function names readable. Different compilers have different |
| mangling styles. The optional demangling style argument can be used to |
| choose an appropriate demangling style for your compiler. |
| .Ip "\f(CW\*(C`\-\-no\-demangle\*(C'\fR" 4 |
| .IX Item "--no-demangle" |
| Do not demangle low-level symbol names. This is the default. |
| .Ip "\f(CW\*(C`\-D\*(C'\fR" 4 |
| .IX Item "-D" |
| .Ip "\f(CW\*(C`\-\-dynamic\*(C'\fR" 4 |
| .IX Item "--dynamic" |
| Display the dynamic symbols rather than the normal symbols. This is |
| only meaningful for dynamic objects, such as certain types of shared |
| libraries. |
| .Ip "\f(CW\*(C`\-f \f(CIformat\f(CW\*(C'\fR" 4 |
| .IX Item "-f format" |
| .Ip "\f(CW\*(C`\-\-format=\f(CIformat\f(CW\*(C'\fR" 4 |
| .IX Item "--format=format" |
| Use the output format \fIformat\fR, which can be \f(CW\*(C`bsd\*(C'\fR, |
| \&\f(CW\*(C`sysv\*(C'\fR, or \f(CW\*(C`posix\*(C'\fR. The default is \f(CW\*(C`bsd\*(C'\fR. |
| Only the first character of \fIformat\fR is significant; it can be |
| either upper or lower case. |
| .Ip "\f(CW\*(C`\-g\*(C'\fR" 4 |
| .IX Item "-g" |
| .Ip "\f(CW\*(C`\-\-extern\-only \*(C'\fR" 4 |
| .IX Item "--extern-only " |
| Display only external symbols. |
| .Ip "\f(CW\*(C`\-l\*(C'\fR" 4 |
| .IX Item "-l" |
| .Ip "\f(CW\*(C`\-\-line\-numbers\*(C'\fR" 4 |
| .IX Item "--line-numbers" |
| For each symbol, use debugging information to try to find a filename and |
| line number. For a defined symbol, look for the line number of the |
| address of the symbol. For an undefined symbol, look for the line |
| number of a relocation entry which refers to the symbol. If line number |
| information can be found, print it after the other symbol information. |
| .Ip "\f(CW\*(C`\-n\*(C'\fR" 4 |
| .IX Item "-n" |
| .Ip "\f(CW\*(C`\-v\*(C'\fR" 4 |
| .IX Item "-v" |
| .Ip "\f(CW\*(C`\-\-numeric\-sort \*(C'\fR" 4 |
| .IX Item "--numeric-sort " |
| Sort symbols numerically by their addresses, rather than alphabetically |
| by their names. |
| .Ip "\f(CW\*(C`\-p\*(C'\fR" 4 |
| .IX Item "-p" |
| .Ip "\f(CW\*(C`\-\-no\-sort \*(C'\fR" 4 |
| .IX Item "--no-sort " |
| Do not bother to sort the symbols in any order; print them in the order |
| encountered. |
| .Ip "\f(CW\*(C`\-P\*(C'\fR" 4 |
| .IX Item "-P" |
| .Ip "\f(CW\*(C`\-\-portability\*(C'\fR" 4 |
| .IX Item "--portability" |
| Use the \s-1POSIX\s0.2 standard output format instead of the default format. |
| Equivalent to \fB\-f posix\fR. |
| .Ip "\f(CW\*(C`\-s\*(C'\fR" 4 |
| .IX Item "-s" |
| .Ip "\f(CW\*(C`\-\-print\-armap\*(C'\fR" 4 |
| .IX Item "--print-armap" |
| When listing symbols from archive members, include the index: a mapping |
| (stored in the archive by \f(CW\*(C`ar\*(C'\fR or \f(CW\*(C`ranlib\*(C'\fR) of which modules |
| contain definitions for which names. |
| .Ip "\f(CW\*(C`\-r\*(C'\fR" 4 |
| .IX Item "-r" |
| .Ip "\f(CW\*(C`\-\-reverse\-sort \*(C'\fR" 4 |
| .IX Item "--reverse-sort " |
| Reverse the order of the sort (whether numeric or alphabetic); let the |
| last come first. |
| .Ip "\f(CW\*(C`\-\-size\-sort\*(C'\fR" 4 |
| .IX Item "--size-sort" |
| Sort symbols by size. The size is computed as the difference between |
| the value of the symbol and the value of the symbol with the next higher |
| value. The size of the symbol is printed, rather than the value. |
| .Ip "\f(CW\*(C`\-t \f(CIradix\f(CW\*(C'\fR" 4 |
| .IX Item "-t radix" |
| .Ip "\f(CW\*(C`\-\-radix=\f(CIradix\f(CW\*(C'\fR" 4 |
| .IX Item "--radix=radix" |
| Use \fIradix\fR as the radix for printing the symbol values. It must be |
| \&\fBd\fR for decimal, \fBo\fR for octal, or \fBx\fR for hexadecimal. |
| .Ip "\f(CW\*(C`\-\-target=\f(CIbfdname\f(CW\*(C'\fR" 4 |
| .IX Item "--target=bfdname" |
| Specify an object code format other than your system's default format. |
| .Ip "\f(CW\*(C`\-u\*(C'\fR" 4 |
| .IX Item "-u" |
| .Ip "\f(CW\*(C`\-\-undefined\-only \*(C'\fR" 4 |
| .IX Item "--undefined-only " |
| Display only undefined symbols (those external to each object file). |
| .Ip "\f(CW\*(C`\-\-defined\-only\*(C'\fR" 4 |
| .IX Item "--defined-only" |
| Display only defined symbols for each object file. |
| .Ip "\f(CW\*(C`\-V\*(C'\fR" 4 |
| .IX Item "-V" |
| .Ip "\f(CW\*(C`\-\-version\*(C'\fR" 4 |
| .IX Item "--version" |
| Show the version number of \f(CW\*(C`nm\*(C'\fR and exit. |
| .Ip "\f(CW\*(C`\-X\*(C'\fR" 4 |
| .IX Item "-X" |
| This option is ignored for compatibility with the \s-1AIX\s0 version of |
| \&\f(CW\*(C`nm\*(C'\fR. It takes one parameter which must be the string |
| \&\f(CW\*(C`32_64\*(C'\fR. The default mode of \s-1AIX\s0 \f(CW\*(C`nm\*(C'\fR corresponds |
| to \f(CW\*(C`\-X 32\*(C'\fR, which is not supported by \s-1GNU\s0 \f(CW\*(C`nm\*(C'\fR. |
| .Ip "\f(CW\*(C`\-\-help\*(C'\fR" 4 |
| .IX Item "--help" |
| Show a summary of the options to \f(CW\*(C`nm\*(C'\fR and exit. |
| .SH "SEE ALSO" |
| .IX Header "SEE ALSO" |
| \&\fIar\fR\|(1), \fIobjdump\fR\|(1), \fIranlib\fR\|(1), and the Info entries for \fIbinutils\fR. |
| .SH "COPYRIGHT" |
| .IX Header "COPYRIGHT" |
| Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc. |
| .PP |
| Permission is granted to copy, distribute and/or modify this document |
| under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1 |
| 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 \*(L"\s-1GNU\s0 Free Documentation License\*(R". |