## SYNOPSIS

           nm [-a|--debug-syms] [-g|--extern-only]
              [-B] [-C|--demangle[=style]] [-D|--dynamic]
              [-S|--print-size] [-s|--print-armap]
              [-A|-o|--print-file-name]
              [-n|-v|--numeric-sort] [-p|--no-sort]
              [-r|--reverse-sort] [--size-sort] [-u|--undefined-only]
              [-t radix|--radix=radix] [-P|--portability]
              [--target=bfdname] [-fformat|--format=format]
              [--defined-only] [-l|--line-numbers] [--no-demangle]
              [-V|--version] [-X 32_64] [--help]  [objfile...]

## DESCRIPTION

           GNU nm lists the symbols from object files objfile....  If
           no  object  files  are listed as arguments, nm assumes the
           file a.out.

           For each symbol, nm shows:

           ·   The symbol value, in the  radix  selected  by  options
               (see below), or hexadecimal by default.

           ·   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).

               "A" The symbol's value is absolute, and  will  not  be
                   changed by further linking.

               "B" The  symbol  is  in the uninitialized data section
                   (known as BSS).

               "C" The symbol is common.  Common symbols  are  unini
                   tialized data.  When linking, multiple common sym
                   bols may appear with the same name.  If the symbol
                   is   defined  anywhere,  the  common  symbols  are
                   treated as undefined references.

               "D" The symbol is in the initialized data section.

               "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.

               "I" The symbol is an  indirect  reference  to  another
                   symbol.   This  is  a  GNU  extension to the a.out
                   object file format which is rarely used.

               "N" The symbol is a debugging symbol.
                   is  not  defined,  the  value  of  the weak symbol
                   becomes zero with no error.

               "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.

               "-" 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.

               "?" The symbol type is unknown, or object file  format
                   specific.

           ·   The symbol name.

## OPTIONS

           The  long and short forms of options, shown here as alter
           natives, are equivalent.

           -A
           -o
           --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.

           -a
           --debug-syms
               Display  all symbols, even debugger-only symbols; nor
               mally these are not listed.

           -B  The same as --format=bsd (for compatibility  with  the
               MIPS nm).

           -C
           --demangle[=style]
               Decode  (demangle)  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.

               first character of format is significant;  it  can  be
               either upper or lower case.

           -g
           --extern-only
               Display only external symbols.

           -l
           --line-numbers
               For  each  symbol, use debugging information to try to
               find a filename and line number.  For a  defined  sym
               bol,  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 sym
               bol.  If line number information can be  found,  print
               it after the other symbol information.

           -n
           -v
           --numeric-sort
               Sort  symbols  numerically  by their addresses, rather
               than alphabetically by their names.

           -p
           --no-sort
               Do not bother to sort the symbols in any order;  print
               them in the order encountered.

           -P
           --portability
               Use  the POSIX.2 standard output format instead of the
               default format.  Equivalent to -f posix.

           -S
           --print-size
               Print size of defined symbols  for  the  "bsd"  output
               format.

           -s
           --print-armap
               When listing symbols from archive members, include the
               index: a mapping (stored in the archive by ar or  ran
               lib)  of  which  modules contain definitions for which
               names.

           -r
           --reverse-sort
               Reverse the order of  the  sort  (whether  numeric  or
               alphabetic); let the last come first.

           --size-sort
               Sort  symbols  by  size.   The size is computed as the

           -u
           --undefined-only
               Display only undefined symbols (those external to each
               object file).

           --defined-only
               Display only defined symbols for each object file.

           -V
           --version
               Show the version number of nm and exit.

           -X  This  option is ignored for compatibility with the AIX
               version of nm.  It takes one parameter which  must  be
               the  string  32_64.  The default mode of AIX nm corre
               sponds to -X 32, which is not supported by GNU nm.

           --help
               Show a summary of the options to nm and exit.

## SEE ALSO

           ar(1), objdump(1), ranlib(1), and  the  Info  entries  for
           binutils.

## COPYRIGHT

           Copyright  (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000,
           2001, 2002 Free Software Foundation, Inc.

           Permission is granted to copy,  distribute  and/or  modify
           this  document  under the terms of the GNU Free Documenta
           tion License, Version 1.1 or any later  version  published
           by  the  Free  Software Foundation; with no Invariant Sec
           tions, with no Front-Cover Texts, and with  no  Back-Cover
           Texts.   A  copy of the license is included in the section
           entitled "GNU Free Documentation License".

    binutils-2.13.90.0.18       2003-03-13                      NM(1)