nm(1)nm(1)NAMEnm - Name list dump of object files
SYNOPSISnm [-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 vari‐
able is set to svr4 or SVR4. nm [-oxhvnefurplVt] [file...]
STANDARDS
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
nm: XCU5.0
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
OPTIONS
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) for‐
mat. This format produces an address or value field followed by a let‐
ter 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 Sys‐
tem 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 exter‐
nal symbol information. [Tru64 UNIX] Suppresses the printing of head‐
ers. [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 speci‐
fied format as follows: The offset is written in decimal. Equiv‐
alent 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 informa‐
tion on stderr. Sorts output by value instead of alphabeti‐
cally.
[Tru64 UNIX] For System V format (-S), sorts external symbols
by value. [Tru64 UNIX] Identifies weak symbols using an aster‐
isk (*). For the default, portable (-P), and Berkeley (-B) for‐
mats, the asterisk follows the symbol type letter. For System V
(-S), an additional column is added to the end of each line con‐
taining an asterisk for weak symbols. Prints numeric values in
hexadecimal. Equivalent to -t x.
[Tru64 UNIX] The DEC C++ compiler encodes type information in func‐
tion, 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.
DESCRIPTION
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
If symbolic information is present in the input files, nm writes the
following information for each file or archive member by default: Sym‐
bol name Value of the symbol Symbol type Size associated with the sym‐
bol, 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 char‐
acters are used as an abbreviation for symbol types. Uppercase charac‐
ters represent external symbols, and lowercase letters represent local
symbols.
The symbol types and their abbreviations are as follows: External abso‐
lute 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 unde‐
fined [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
SEE ALSO
Functions: ar(1), c89(1)
Standards: standards(5)
Object File/Symbol Table Format Specification
Programmer's Guide, Assembly Language Programmer's Guide
nm(1)