Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ nm(1) — DG/UX 4.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought



                                                                    nm(1)



        _________________________________________________________________
        nm                                                        Command
        print name list of object, executable, or archive file
        _________________________________________________________________


        SYNTAX

        nm [-oxhvnefurpVT] filename ...


        DESCRIPTION

        The nm command displays the symbol table of each file, filename.
        Filename may be an object or executable file; or it may be an
        archive of object or executable files.  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.




        DG/UX 4.00                                                 Page 1
               Licensed material--property of copyright holder(s)





                                                                    nm(1)



        -x       Print the value and size of a symbol in hexadecimal
                 instead of decimal.

        -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), 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

        /tmp/nm*              temporary files




        DG/UX 4.00                                                 Page 2
               Licensed material--property of copyright holder(s)





                                                                    nm(1)



        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.


        SEE ALSO

        as(1), cc(1), ld(1), dis(1), lorder(1), ar(4).


        DIAGNOSTICS

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

        ``nm:  name:  bad magic''
                 if name is not an object, executable, or archive file.

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































        DG/UX 4.00                                                 Page 3
               Licensed material--property of copyright holder(s)



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