Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ nm(1) — DG/UX 4.30

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

as(1)

cc(1)

ld(1)

tmpnam(3s)

a.out(4)

ar(4)



     nm(1)                      DG/UX 4.30                       nm(1)



     NAME
          nm - print name list of common object file

     SYNOPSIS
          nm [-oxhvnefurpVT] filename ...

     DESCRIPTION
          The nm command displays the symbol table of each file,
          filename.  Filename is a common object file.  For each
          symbol, nm can print the following information:

          Name     The name of the symbol.

          Value    The symbol's value expressed as an offset or an
                   address depending on its storage class.

          Class    The symbol's storage class.

          Type     The symbol's type and derived type.  If the symbol
                   is an instance of a structure or of a union then
                   the structure or union tag will be given following
                   the type (e.g., struct-tag).  If the symbol is an
                   array, then the array dimensions will be given
                   following the type (e.g., char[ n ][ m ]).  Note
                   that the file must have been compiled with the -g
                   option of the cc(1) command for this information to
                   appear.

          Size     The symbol's size in bytes, if available.  Note
                   that the file must have been compiled with the -g
                   option of the cc(1) command for this information to
                   appear.

          Line     The source line number at which the symbol is
                   defined, if available.  Note that the file must
                   have been compiled with the -g option of the cc(1)
                   command for this information to appear.

          Section  For storage classes static and external, the object
                   file section containing the symbol (e.g., text,
                   data or bss).

          The output of nm may be controlled using the following
          options:

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

          -h       Do not display the output header data.



     Licensed material--property of copyright holder(s)         Page 1





     nm(1)                      DG/UX 4.30                       nm(1)



          -v       Sort external symbols by value before they are
                   printed.

          -n       Sort external symbols by name before they are
                   printed.

          -e       Print only external and static symbols.

          -f       Produce full output.  Print redundant symbols
                   (.text, .data, .lib, and .bss), which are normally
                   suppressed.

          -u       Print undefined symbols only.

          -r       Prepend the name of the object file or archive to
                   each output line.

          -p       Produce easily parsable, terse output.  Each symbol
                   name is preceded by its value (blanks if undefined)
                   and one of the letters U (undefined), A (absolute),
                   T (text segment symbol), D (data segment symbol), S
                   (user defined segment symbol), R (register symbol),
                   F (file symbol), or C (common symbol).  If the
                   symbol is local (non-external), the type letter is
                   in lower case.

          -V       Print, on standard error,  the version of the nm
                   command being executed.

          -T       By default, nm prints the entire name of each
                   symbol.  Since object files can have symbol names
                   with an arbitrary number of characters, a name that
                   is longer than the width of the column set aside
                   for names will overflow its column, forcing every
                   column after the name to be misaligned.  The -T
                   option causes nm to truncate every name which would
                   otherwise overflow its column and place an asterisk
                   as the last character in the displayed name to mark
                   it as truncated.

          Options may be used in any order, either singly or in
          combination, and may appear anywhere in the command line.
          Therefore, both nm name -e -v and nm -ve name print the
          static and external symbols in name, with external symbols
          sorted by value.

     FILES
          TMPDIR/*              temporary files

                                TMPDIR is usually /usr/tmp but can be
                                redefined by setting the environment
                                variable TMPDIR [see tmpnam() in



     Licensed material--property of copyright holder(s)         Page 2





     nm(1)                      DG/UX 4.30                       nm(1)



                                tmpnam(3s)].

     CAVEAT
          When all the symbols are printed, they must be printed in
          the order they appear in the symbol table in order to
          preserve scoping information.  Therefore, the -v and -n
          options should be used only in conjunction with the -e
          option.

     SEE ALSO
          as(1), cc(1), ld(1), tmpnam(3s), a.out(4), ar(4).

     DIAGNOSTICS
          ``nm:  name:  cannot open''
                   if name cannot be read.

          ``nm:  name:  bad magic''
                   if name is not a common object file.

          ``nm:  name:  no symbols''
                   if the symbols have been stripped from name.


































     Licensed material--property of copyright holder(s)         Page 3



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026