nm man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

NM(1)									 NM(1)

NAME
       nm - print name list of an object file

SYNOPSIS
       /usr/bin/nm [-ACDhlnPprRsTuVv] [-efox] [-g | -u]
	    [-t format] file...

       /usr/xpg4/bin/nm [-ACDhlnPprRsTuVv] [-efox] [-g | -u]
	    [-t format] file...

DESCRIPTION
       The  nm	utility displays the symbol table of each ELF object file that
       is specified by file.

       If no symbolic information is available for a valid input file, the  nm
       utility reports that fact, but not consider it an error condition.

OPTIONS
       The output of nm can be controlled using the following options:

       -A
		    Writes  the full path name or library name of an object on
		    each line.

       -C
		    Demangles C++ symbol names before printing them out.

       -D
		    Displays the SHT_DYNSYM symbol information.	 This  is  the
		    symbol  table  used	 by  ld.so.1  and  is  present even in
		    stripped dynamic executables. If -D is not specified,  the
		    default  behavior  is  to  display	the  SHT_SYMTAB symbol
		    information.

       -e
		    See NOTES below.

       -f
		    See NOTES below.

       -g
		    Writes only external (global) symbol information.

       -h
		    Does not display the output heading data.

       -L
		    Displays the  SHT_SUNW_LDYNSYM  symbol  information.  This
		    symbol    table    contains	   local   function   symbols.
		    SHT_SUNW_LDYNSM symbol tables are present even in stripped
		    dynamic executables. These symbols augment the global sym‐
		    bols that are found in SHT_DYNSYM symbol table. If	-L  is
		    not	 specified,  the  default  behavior  is to display the
		    SHT_SYMTAB symbol information.

       -l
		    Distinguishes between WEAK and GLOBAL symbols by appending
		    a * to the key letter for WEAK symbols.

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

       -o
		    Prints  the value and size of a symbol in octal instead of
		    decimal (equivalent to -t o).

       -p
		    Produces easy to parse, terse output. Each symbol name  is
		    preceded by its value (blanks if undefined) and one of the
		    letters:

		    A
			 Absolute symbol.

		    B
			 bss (uninitialized data space) symbol.

		    C
			 COMMON symbol.

		    D
			 Data object symbol.

		    F
			 File symbol.

		    N
			 Symbol has no type.

		    L
			 Thread-Local storage symbol.

		    S
			 Section symbol.

		    T
			 Text symbol.

		    U
			 Undefined.

		    If the symbol's binding attribute is:

		    LOCAL
			      The key letter is lower case.

		    WEAK
			      The key letter is upper case. If the -l modifier
			      is  specified, the upper case key letter is fol‐
			      lowed by a *

		    GLOBAL
			      The key letter is upper case.

       -P
		    Writes information in a portable output format, as	speci‐
		    fied in Standard Output.

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

       -R
		    Prints the archive name  (if  present),  followed  by  the
		    object  file  and  symbol  name.  If the -r option is also
		    specified, this option is ignored.

       -s
		    Prints section name instead of section index.

       -t format
		    Writes each numeric value in  the  specified  format.  The
		    format  is	dependent  on the single character used as the
		    format option-argument:

		    d
			 The offset is written in decimal (default).

		    o
			 The offset is written in octal.

		    x
			 The offset is written in hexadecimal.

       -T
		    See NOTES.

   /usr/bin/nm
       -u
	     Prints undefined symbols only.

   /usr/xpg4/bin/nm
       -u
	     Prints long listing for each undefined symbol. See OUTPUT below.

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

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

       -x
	     Prints  the  value and size of a symbol in hexadecimal instead of
	     decimal (equivalent to -t x).

       Options can be used in any order, either singly or in combination,  and
       can  appear  anywhere in the command line. When conflicting options are
       specified (such as -v and -n, or -o and -x) the first is taken and  the
       second  ignored	with a warning message to the user. (See -R for excep‐
       tion.)

OPERANDS
       The following operand is supported:

       file
	       A path name of an object file, executable file  or  object-file
	       library.

OUTPUT
       This section describes the nm utility's output options.

   Standard Output
       For each symbol, the following information is printed:

       Index
		      The  index  of  the symbol. (The index appears in brack‐
		      ets.)

       Value
		      The value of the symbol is one of the following:

			  o	 A section offset for  defined	symbols	 in  a
				 relocatable file.

			  o	 Alignment  constraints for symbols whose sec‐
				 tion index is SHN_COMMON.

			  o	 A virtual address in executable  and  dynamic
				 library files.

       Size
		      The size in bytes of the associated object.

       Type
		      A symbol is of one of the following types:

		      NOTYPE
				 No type was specified.

		      OBJECT
				 A data object such as an array or variable.

		      FUNC
				 A function or other executable code.

		      REGI
				 A register symbol (SPARC only).

		      SECTION
				 A section symbol.

		      FILE
				 Name of the source file.

		      COMMON
				 An uninitialized common block.

		      TLS
				 A variable associated with Thread-Local stor‐
				 age.

       Bind
		      The symbol's binding attributes.

		      LOCAL symbols
					Have a scope  limited  to  the	object
					file containing their definition.

		      GLOBAL symbols
					Are  visible to all object files being
					combined.

		      WEAK symbols
					Are essentially global symbols with  a
					lower precedence than GLOBAL.

       Other
		      A symbol's visibility.

		      The  lower  bits of the st_other member of the Elf32_Sym
		      structure,  and  the  Elf64_Sym  structure,  defined  in
		      <sys/elf.h>, are currently used and can be one of:

			#define STV_DEFAULT	0
			#define STV_INTERNAL	1
			#define STV_HIDDEN	2
			#define STV_PROTECTED	3
			#define STV_EXPORTED	4
			#define STV_SINGLETON	5
			#define STV_ELIMINATE	6

       Shndx
		      Except  for  three  special  values, this is the section
		      header table index in relation to which  the  symbol  is
		      defined. The following special values exist:

		      ABS
				Indicates  the	symbol's value does not change
				through relocation.

		      COMMON
				Indicates an unallocated block and  the	 value
				provides alignment constraints.

		      UNDEF
				Indicates an undefined symbol.

       Name
		      The name of the symbol.

       Object Name
		      The name of the object or library if -A is specified.

       If  the	-P  option is specified, the previous information is displayed
       using the following portable format. The three versions differ  depend‐
       ing on whether -t d, -t o, or -t x was specified, respectively:

	 "%s%s %s %d %d0, library/object name, name, type, value, \
	      size "%s%s %s %o %o\n", library/object name, name, \
	      type, value , size "%s%s %s %x %x\n", library/object name, name, \
	      type, value, size

       where library/object name is formatted as follows:

	   o	  If  -A  is  not  specified,  library/object name is an empty
		  string.

	   o	  If -A is specified and the corresponding file	 operand  does
		  not name a library:

		    "%s: ", file

	   o	  If  -A is specified and the corresponding file operand names
		  a library. In this case, object file names the  object  file
		  in the library containing the symbol being described:

		    "%s[%s]: ", file, object file

       If -A is not specified, then if more than one file operand is specified
       or if only one file operand is specified and it	names  a  library,  nm
       writes  a  line identifying the object containing the following symbols
       before the lines containing those symbols, in the form:

	   o	  If the corresponding file operand does not name a library:

		    "%s:\n", file

	   o	  If the corresponding file operand names a library;  in  this
		  case,	 object	 file  is  the name of the file in the library
		  containing the following symbols:

		    "%s[%s]:\n", file, object file

       If -P is specified, but -t is not, the format is as if -t  x  had  been
       specified.

ENVIRONMENT VARIABLES
       See  environ(5) for descriptions of the following environment variables
       that affect the execution of nm: LANG,  LC_ALL,	LC_COLLATE,  LC_CTYPE,
       LC_MESSAGES, and NLSPATH.

EXIT STATUS
       The following exit values are returned:

       0
	     Successful completion.

       >0
	     An error occurred.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

/USR/XPG4/BIN/NM
       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ Committed	      │
       └────────────────────┴─────────────────┘

SEE ALSO
       ar(1),	as(1),	dump(1),  ld(1),  ld.so.1(1),  ar.h(3HEAD),  a.out(4),
       attributes(5), environ(5), standards(5)

NOTES
       The following options are obsolete because of  changes  to  the	object
       file format and might be deleted in a future release.

       -e
	     Prints  only  external  and  static symbols. The symbol table now
	     contains only static and external symbols. Automatic  symbols  no
	     longer  appear  in the symbol table. They do appear in the debug‐
	     ging information produced by cc -g, which can be  examined	 using
	     dump(1).

       -f
	     Produces  full  output.  Redundant symbols (such as .text, .data,
	     and so forth), which existed previously, do not exist and produc‐
	     ing full output is identical to the default output.

       -T
	     By	 default,  nm  prints  the  entire name of the symbols listed.
	     Since symbol names have been moved to the last column, the	 prob‐
	     lem of overflow is removed and it is no longer necessary to trun‐
	     cate the symbol name.

				 Sep 10, 2013				 NM(1)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net