display name list (symbol table)
The symbol table (name list) of each object in file(s)
displayed. If a library (archive) is given,
displays a list for each object archive member. If file
is not present,
searches for the file
and displays its symbol table if it exists.
The options are as follows:
- Display symbol table entries inserted for use by debuggers.
- Decode low-level symbol names. This involves removing extra underscores
and making C++ function names readable.
- Output extended information, that is `w' for weak symbols, `f' for
function-like symbols, and `o' for object-like symbols.
- Restrict display to external (global) symbols.
- Present results in numerical order.
- Display full path or library name of object on every line.
- Do not sort at all.
- Reverse order sort.
- Show archive index.
- Display undefined symbols only.
- Warn about non-object archive members. Normally,
nm will silently ignore all archive members which
are not object files.
Each symbol name is preceded by its value (a blank field if the
symbol is undefined) and one of the following letters:
- debugger symbol table entries (see the
- bss or tbss segment symbol
- common symbol
- data or tdata segment symbol
- indirect reference (alias to other symbol)
- file name
- read-only data segment symbol
- text segment symbol
- weak symbol (only on ELF binaries)
If the symbol is local (non-external), the type letter is in lower
case. The output is sorted alphabetically.
nm utility appears as an optional part of
IEEE Std 1003.1-2008 (“POSIX.1”); this
nm appears largely incompatible with
nm command appeared in
Version 6 AT&T UNIX.