nm(1)
nm --
print name list of an object file
Synopsis
   nm [-goxhtnvsnurplCVAPR] files
Description
The
nm
command
displays the symbol table of each
ELF or COFF object file,
specified by
file(s).
The file
may be a relocatable or absolute ELF or COFF object file;
or it may be an archive of relocatable or absolute ELF or COFF object files.
For each symbol, the following information will be printed:
 ``Index''
- 
The index of the symbol.
(The index appears in brackets.)
 ``Value''
- 
The value of the symbol is one of the following:
a section offset for defined symbols in a relocatable file;
alignment constraints for symbols whose section index is
``SHN_COMMON'';
a virtual address in executable and dynamic library files.
 ``Size''
- 
The size in bytes of the associated object.
 ``Type''
- 
A symbol is of one of the following types:
``NOTYPE'' (no type was specified),
``OBJECT'' (a data object such as an array or variable),
``FUNC'' (a function or other executable code),
``SECTION'' (a section symbol), or
``FILE'' (name of the source file).
 ``Bind''
- 
The symbol's binding attributes.
``LOCAL'' symbols have a scope limited to the
object file containing their definition;
``GLOBAL'' symbols are visible to all object files being combined;
and ``WEAK'' symbols are essentially global symbols with
a lower precedence than ``GLOBAL''.
 ``Other''
- 
This field currently indicates the visibility of the symbol.
0 indicates default visibility. ``HIDDEN'' means the symbol
is visible solely within the object but not exported to
other objects.  ``PROT'' means the symbol is "protected."
Any reference to the symbol from within the object will go to this
definition, even if other definitions are present and would
normally take precedence.
 ``Shndx''
- 
Except for three special values, this is the section header table index
in relation to which the symbol is defined.
The following special values exist:
``ABS'' indicates the symbol's value will not change
through relocation;
``COMMON'' indicates an unallocated block and the value provides alignment
constraints;
and
``UNDEF'' indicates an undefined symbol.
 ``Name''
- 
The name of the symbol.
The output of
nm
may be controlled using the following options:
 -g
- 
Only print symbols with binding types GLOBAL and WEAK.
 -o
- 
Print the value and size of a symbol
in octal instead of decimal.
 -x
- 
Print the value and size of a symbol
in hexadecimal instead of decimal.
 -t d | o | x
- 
Set output format to decimal, octal or hexadecimal.
(Decimal is the default; -t o is equivalent to -o;
-t x is equivalent to -x)
 -h
- 
Do not display the output heading data.
 -v
- 
Sort external symbols by value before they are printed.
 -s
- 
Print section names instead of section indices.
 -n
- 
Sort external symbols by name before they are printed.
 -u
- 
Print undefined symbols only.
 -r
- 
Prepend the name of the object file or archive to each symbol name.
This option is ignored if -P is specified.
 -p [-l]
- 
Produce terse output that can be parsed easily.
Each symbol name is preceded by
its value (blanks if undefined) and one of
the letters
``U''
(undefined symbol reference),
``A''
(absolute symbol)
``B''
(symbol defined in .bss or a common symbol)
``N''
(symbol has no type),
``D''
(data object symbol),
``T''
(text symbol),
``S''
(section symbol),
or
``F''
(file symbol).
If the symbol's binding attribute is ``LOCAL'',
the key letter is lower case;
if the symbol's binding attribute is ``WEAK'',
the key letter is upper case
(if the
-l modifier is specified, the upper case
key letter is followed by an ``*'');
if the symbol's binding attribute is ``GLOBAL'',
the key letter is upper case.
 -C
- 
Print C++ names decoded.
 -V
- 
Print on the standard error output the version number of the
nm command being executed.
 -A
- 
Prepend the name of the object file and archive to
each output line.
 -P [-l]
- 
Alternate form of terse, easily parseable output (see -p).
The symbol name appears first, followed by a keyletter
(as described under -p), the symbol's value and its
size.  The value and size fields are printed in
hexadecimal, by default.
 -R
- 
Prepend the name of the object file and archive to
each symbol name.  This option is ignored if -P is specified.
Options may be used in any order, either singly or in combination,
and may appear anywhere in the command line.
When conflicting options are specified (such as
nm -v -n)
the first is taken and the second ignored with a
warning message to the user.
References
a.out(4),
ar(4),
as(1),
cc(1),
dump(1),
ld(1)
© 2004 The SCO Group, Inc.  All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004