unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



nm(1)									nm(1)



NAME

  nm - Name list dump of object	files

SYNOPSIS

  nm [-B  | -P	| -S] [-AabdfhnoprTVvwx] [-e  |	-g  | -u] [-t format]
  [-mangled_name_only] [-mangled_name_also] [file...]

  The following	synopsis is in effect when the CMD_ENV environment variable
  is set to svr4 or SVR4.

  nm [-oxhvnefurplVt] [file...]

STANDARDS

  Interfaces documented	on this	reference page conform to industry standards
  as follows:

  nm:  XCU5.0

  Refer	to the standards(5) reference page for more information	about indus-
  try standards	and associated tags.

OPTIONS

  The nm command accepts both XCU5.0 standard options and proprietary exten-
  sions.

  The following	options	control	the format of the output:

  default
      Prints output in OSF format.

  -B  [Tru64 UNIX]  Prints output in Berkeley (4.3 BSD)	format.	This format
      produces an address or value field followed by a letter showing what
      section the symbol is located in.	The third and final field is the name
      of the symbol.

  -P  Prints output in a portable (POSIX) format. This format prints lines
      containing each symbol's name, type (single letter), value, and size.

  -S  [Tru64 UNIX]  Prints output in System V format.

  The following	options	control	the contents of	the output, how	sorting	is
  done,	and how	numeric	values are printed. Note that the format that is in
  effect influences the	results	of many	of these options:

  -A  Prints the full pathname or library name of an object on each line.

  -a  [Tru64 UNIX]  Prints full	debugging information.

  -b  [Tru64 UNIX]  For	Berkeley (-B) format only, prints the value field in
      octal. Equivalent	to -t o.

  -d  [Tru64 UNIX]  Prints the value field in decimal. Equivalent to -t	d.

  -e  Prints only external and static symbol information.

  -g  Prints only external symbol information.

  -h  [Tru64 UNIX]  Suppresses the printing of headers.

  -n  [Tru64 UNIX]  For	Berkeley (-B) format, sorts all	symbols	by value. For
      System V (-S) format, sorts external symbols by name. For	other for-
      mats, sorts all symbols by name.

  -o  Prints numeric values in octal (equivalent to -t o).

      [Tru64 UNIX]  For	Berkeley format	(-B), prepends the filename to each
      symbol (equivalent to -A).

  -p  [Tru64 UNIX]  Prints symbols in the order	in which they are found	in
      the file.

  -r  [Tru64 UNIX]  Reverses the order of a value or name sort.

  -T  [Tru64 UNIX]  Truncates long names, inserting an asterisk	(*) as the
      last printed character.

  -t format
      Writes each numeric value	in the specified format	as follows:

      d	  The offset is	written	in decimal. Equivalent to -d.

      o	  The offset is	written	in octal. Equivalent to	-o.

      x	  The offset is	written	in hexadecimal.	Equivalent to -x.

  -u  Prints only undefined symbols.

  -V  [Tru64 UNIX]  Prints version information on stderr.

  -v  Sorts output by value instead of alphabetically.

      [Tru64 UNIX]  For	System V format	(-S), sorts external symbols by
      value.

  -w  [Tru64 UNIX]  Identifies weak symbols using an asterisk (*). For the
      default, portable	(-P), and Berkeley (-B)	formats, the asterisk follows
      the symbol type letter. For System V (-S), an additional column is
      added to the end of each line containing an asterisk for weak symbols.

  -x  Prints numeric values in hexadecimal.  Equivalent	to -t x.

  [Tru64 UNIX]	The DEC	C++ compiler encodes type information in function,
  template, variable, and virtual table	names to enable	type-safe linkages.
  This encoding	is called "name	mangling." The following options can be	used
  to instruct the nm command to	print either the original name (that is, the
  demangled name), the mangled name, or	both, by specifying one	of the fol-
  lowing options. By default, nm shows the demangled names only.

  -mangled_name_only
      [Tru64 UNIX]  Prints only	the mangled name.

  -mangled_name_also
      [Tru64 UNIX]  Prints both	the mangled and	the demangled names.



DESCRIPTION

  The nm command prints	formatted listings of the symbol and external sec-
  tions	of an object file symbol table.	A file can be an object	file, an
  archive library, or a	shared library.	If you do not specify a	file, this
  command assumes a.out.

  The nm tool supports four output formats:

    +  OSF (the	default)

    +  [Tru64 UNIX]  Berkeley 4.3 BSD (-B option)

    +  [Tru64 UNIX]  System V (-S option)

    +  Portable	(-P option)

  The following	default	behaviors are the same for all four formats:

    +  Sort by name

    +  Show external and static	symbols

    +  Output in hexadecimal

  The only exception to	these defaults is that numbers in OSF format are in
  decimal by default.

  Each format has a distinctive	output style and can influence the results of
  some of the options that affect content, how sorting is done,	and how
  numeric values are printed, as explained in the OPTIONS section.

  Output


  If symbolic information is present in	the input files, nm writes the fol-
  lowing information for each file or archive member by	default:

    +  Symbol name

    +  Value of	the symbol

    +  Symbol type

    +  Size associated with the	symbol,	if applicable

  For example:

       Name			 Value	      Type	 Size

       _gp		  | 0000005368742016 | A | 0000000000000008
       exit		  | 0000004831842368 | U | 0000000000000008
       main		  | 0000004831842816 | T | 0000000000000008

  For the default, portable (-P), and Berkeley (-B) formats, single charac-
  ters are used	as an abbreviation for symbol types. Uppercase characters
  represent external symbols, and lowercase letters represent local symbols.

  The symbol types and their abbreviations are as follows:

  A   External absolute

  a   Local absolute

  B   External zeroed data

  b   Local zeroed data

  C   [Tru64 UNIX]  Common

  D   External initialized data

  d   Local initialized	data

  E   [Tru64 UNIX]  Small common

  G   [Tru64 UNIX]  External small initialized data

  g   [Tru64 UNIX]  Local small	initialized data

  H   [Tru64 UNIX]  Thread local storage common

  J   [Tru64 UNIX]  External initialized thread	local storage

  j   [Tru64 UNIX]  Local initialized thread local storage

  K   [Tru64 UNIX]  External zeroed thread local storage

  k   [Tru64 UNIX]  Local zeroed thread	local storage

  N   [Tru64 UNIX]  Nil	storage	class, compiler	internal usage

  Q   [Tru64 UNIX]  Read-only constants

  q   [Tru64 UNIX]  Local read-only constants

  R   [Tru64 UNIX]  External read-only data

  r   [Tru64 UNIX]  Local read-only data

  S   [Tru64 UNIX]  External small zeroed data

  s   [Tru64 UNIX]  Local small	zeroed data

  T   External text

  t   Local text

  U   External undefined

  V   [Tru64 UNIX]  External small undefined

  W   [Tru64 UNIX]  Thread local storage undefined

  Z   [Tru64 UNIX]  No storage allocated

  [Tru64 UNIX]	If the -a option is specified, an expanded listing in System
  V format is written, formatted with the following columns:

  Name
      The symbol or external name

  Value
      Value field for the symbol or external, usually an address or interest-
      ing debugging information

  Class
      The symbol type

  Type
      The symbol's declaration

  Size
      The symbol's size

  Index
      The symbol's index field

  Section
      The symbol's storage class

SEE ALSO

  Functions:  ar(1), c89(1)

  Standards:  standards(5)

  Object File/Symbol Table Format Specification

  Programmer's Guide, Assembly Language	Programmer's Guide