OpenSolaris 2009.06 - man page for nm (opensolaris section 1)

Linux & Unix Commands - Search Man Pages

Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


nm(1)					  User Commands 				    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 informa-
		    tion.

       -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  symbols  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 followed by a *

		    GLOBAL    The key letter is upper case.

       -P	    Writes information in a portable output format, as specified in Standard Out-
		    put.

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

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

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

       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 depending 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 %o0, library/object name, name, \
	      type, value , size "%s%s %s %x %x0, 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:0, 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]:0, 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/BIN/NM
       +-----------------------------+-----------------------------+
       |      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWbtool 		   |
       +-----------------------------+-----------------------------+

/USR/XPG4/BIN/NM
       +-----------------------------+-----------------------------+
       |      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWxcu4			   |
       +-----------------------------+-----------------------------+
       |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), envi-
       ron(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  debugging  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	producing 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 problem of overflow is removed and it is no
	     longer necessary to truncate the symbol name.

SunOS 5.11				   10 Oct 2007					    nm(1)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 12:22 PM.

Unix & Linux Forums Content Copyright©1993-2018. All Rights Reserved.
×
UNIX.COM Login
Username:
Password:  
Show Password





Not a Forum Member?
Forgot Password?