Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ nm(1) — Interactive 2.2

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)                INTERACTIVE UNIX System                NM(1)



          NAME
               nm - print name list of common object file

          SYNOPSIS
               nm [-oxhvnefurpVT] file name ...

          DESCRIPTION
               The nm command displays the symbol table of each common
               object file, filename.  Filename may be a relocatable or
               absolute common object file; or it may be an archive of
               relocatable or absolute common object files.  For each sym-
               bol, the following information will be printed:

               Name     The name of the symbol.

               Value    Its value expressed as an offset or an address
                        depending on its storage class.

               Class    Its storage class.

               Type     Its 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 fol-
                        lowing the type (e.g., char[ n ][ m ] ).  Note that
                        the object file must have been compiled with the -g
                        option of the cc(1) command for this information to
                        appear.

               Size     Its size in bytes, if available.  Note that the
                        object 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 it is defined, if
                        available.  Note that the object file must have
                        been compiled with the -g option of the cc(1) com-
                        mand 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.



          Rev. C Software Development Set                            Page 1





          NM(1)                INTERACTIVE UNIX System                NM(1)



               -h       Do not display the output header data.

               -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), 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 sym-
                        bol is local (non-external), the type letter is in
                        lowercase.

               -V       Print the version of the nm command executing on
                        the standard error output.

               -T       By default, nm prints the entire name of the sym-
                        bols listed.  Since object files can have symbols
                        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, forc-
                        ing 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 combi-
               nation, and may appear anywhere in the command line.  There-
               fore, 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 tempnam() in


          Rev. C Software Development Set                            Page 2





          NM(1)                INTERACTIVE UNIX System                NM(1)



               tmpnam(3S)].

          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.

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


































          Rev. C Software Development Set                            Page 3



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