nm - Name list dump of object files
nm [-B | -P | -S] [-AabdfhnoprTVvwx] [-e | -g | -u]
[-t format] [-mangled_name_only] [-mangled_name_also]
[file...]
The following synopsis is in effect when the CMD_ENV environment
variable is set to svr4 or SVR4. nm [-oxhvnefurplVt]
[file...]
Interfaces documented on this reference page conform to
industry standards as follows:
nm: XCU5.0
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
The nm command accepts both XCU5.0 standard options and
proprietary extensions.
The following options control the format of the output:
Prints output in OSF format. [Tru64 UNIX] Prints output
in Berkeley (4.3 BSD) format. This format produces an
address or value field followed by a letter showing what
section the symbol is located in. The third and final
field is the name of the symbol. Prints output in a
portable (POSIX) format. This format prints lines containing
each symbol's name, type (single letter), value, and
size. [Tru64 UNIX] Prints output in System V format.
The following options control the contents of the output,
how sorting is done, and how numeric values are printed.
Note that the format that is in effect influences the
results of many of these options: Prints the full pathname
or library name of an object on each line. [Tru64
UNIX] Prints full debugging information. [Tru64
UNIX] For Berkeley (-B) format only, prints the value
field in octal. Equivalent to -t o. [Tru64 UNIX] Prints
the value field in decimal. Equivalent to -t d. Prints
only external and static symbol information. Prints only
external symbol information. [Tru64 UNIX] Suppresses the
printing of headers. [Tru64 UNIX] For Berkeley (-B) format,
sorts all symbols by value. For System V (-S) format,
sorts external symbols by name. For other formats, sorts
all symbols by name. Prints numeric values in octal
(equivalent to -t o).
[Tru64 UNIX] For Berkeley format (-B), prepends
the filename to each symbol (equivalent to -A).
[Tru64 UNIX] Prints symbols in the order in which
they are found in the file. [Tru64 UNIX] Reverses
the order of a value or name sort. [Tru64
UNIX] Truncates long names, inserting an asterisk
(*) as the last printed character. Writes each
numeric value in the specified format as follows:
The offset is written in decimal. Equivalent to -d.
The offset is written in octal. Equivalent to -o.
The offset is written in hexadecimal. Equivalent to
-x. Prints only undefined symbols. [Tru64
UNIX] Prints version information on stderr. Sorts
output by value instead of alphabetically.
[Tru64 UNIX] For System V format (-S), sorts
external symbols by value. [Tru64 UNIX] Identifies
weak symbols using an asterisk (*). For the
default, portable (-P), and Berkeley (-B) formats,
the asterisk follows the symbol type letter. For
System V (-S), an additional column is added to the
end of each line containing an asterisk for weak
symbols. Prints numeric values in hexadecimal.
Equivalent to -t x.
[Tru64 UNIX] The DEC C++ compiler encodes type information
in function, template, variable, and virtual table
names to enable type-safe linkages. This encoding is
called "name mangling." The following options can be used
to instruct the nm command to print either the original
name (that is, the demangled name), the mangled name, or
both, by specifying one of the following options. By
default, nm shows the demangled names only. [Tru64
UNIX] Prints only the mangled name. [Tru64 UNIX] Prints
both the mangled and the demangled names.
The nm command prints formatted listings of the symbol and
external sections of an object file symbol table. A file
can be an object file, an archive library, or a shared
library. If you do not specify a file, this command
assumes a.out.
The nm tool supports four output formats: OSF (the
default) [Tru64 UNIX] Berkeley 4.3 BSD (-B option) [Tru64
UNIX] System V (-S option) Portable (-P option)
The following default behaviors are the same for all four
formats: Sort by name Show external and static symbols
Output in hexadecimal
The only exception to these defaults is that numbers in
OSF format are in decimal by default.
Each format has a distinctive output style and can influence
the results of some of the options that affect content,
how sorting is done, and how numeric values are
printed, as explained in the OPTIONS section.
Output [Toc] [Back]
If symbolic information is present in the input files, nm
writes the following information for each file or archive
member by default: Symbol name Value of the symbol Symbol
type Size associated with the symbol, if applicable
For example:
Name Value Type Size
_gp | 0000005368742016 | A |
0000000000000008 exit | 0000004831842368 | U
| 0000000000000008 main | 0000004831842816 |
T | 0000000000000008
For the default, portable (-P), and Berkeley (-B) formats,
single characters are used as an abbreviation for symbol
types. Uppercase characters represent external symbols,
and lowercase letters represent local symbols.
The symbol types and their abbreviations are as follows:
External absolute Local absolute External zeroed data
Local zeroed data [Tru64 UNIX] Common External initialized
data Local initialized data [Tru64 UNIX] Small common
[Tru64 UNIX] External small initialized data [Tru64
UNIX] Local small initialized data [Tru64 UNIX] Thread
local storage common [Tru64 UNIX] External initialized
thread local storage [Tru64 UNIX] Local initialized
thread local storage [Tru64 UNIX] External zeroed thread
local storage [Tru64 UNIX] Local zeroed thread local
storage [Tru64 UNIX] Nil storage class, compiler internal
usage [Tru64 UNIX] Read-only constants [Tru64
UNIX] Local read-only constants [Tru64 UNIX] External
read-only data [Tru64 UNIX] Local read-only data [Tru64
UNIX] External small zeroed data [Tru64 UNIX] Local
small zeroed data External text Local text External undefined
[Tru64 UNIX] External small undefined [Tru64
UNIX] Thread local storage undefined [Tru64 UNIX] No
storage allocated
[Tru64 UNIX] If the -a option is specified, an expanded
listing in System V format is written, formatted with the
following columns: The symbol or external name Value field
for the symbol or external, usually an address or interesting
debugging information The symbol type The symbol's
declaration The symbol's size The symbol's index field The
symbol's storage class
Functions: ar(1), c89(1)
Standards: standards(5)
Object File/Symbol Table Format Specification
Programmer's Guide, Assembly Language Programmer's Guide
nm(1)
[ Back ] |