*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> nm (1)              
Title
Content
Arch
Section
 

Contents


NM(1)									 NM(1)


NAME    [Toc]    [Back]

     nm	- print	name list of an	object file(s)

SYNOPSIS    [Toc]    [Back]

     nm	[ -bdefghlnopruvxABCTV ] [ files ]

DESCRIPTION    [Toc]    [Back]

     The nm command prints formatted listings of the symbol tables for each
     ELF file specified.  A file can be	a relocatable or absolute ELF object
     file, or it can be	an archive.

     nm	produces different output formats depending on options and the binary
     ABI.  The differences are an attempt to preserve the operation of scripts
     that depend on nm.	 Anyone	desiring consistent operation across different
     ABIs should use XPG4 format or Berkeley format.

     For old 32-bit-ABI	objects	the output format by default is	the same as
     IRIX5.2 and 5.3 (something	like AT&T System V Release 3 format).

     For new 32-bit-ABI	objects	the output format by is	AT&T System V Release
     4 format.

     For 64-bit	objects	the output format is by	default	in AT&T	System V
     Release 4 format.

     If	the environment	variable _XPG is defined, nm operates in conformance
     with the X/Open XPG4 specifications (called XPG4 mode in this document).
     The XPG4 mode format follows the XPG4 standards.  In XPG4 mode nm output
     looks somewhat like nm -B (Berkeley style)	output.

     When Using	AT&T System V Release 4	format the following information will
     be	printed	for each symbol	(an alternative, Berkeley (4.3BSD) format, is
     described later in	this document):

     Index   The index of the symbol. (The index appears in brackets.)

     Value   The value of the symbol is	one of the following: a	section	offset
	     for defined symbols in a relocatable file;	alignment constraints
	     for symbols whose section index is	SHN_COMMON; a virtual address
	     in	executable and dynamic library files.

     Size    The size in bytes of the associated object.

     Type    A symbol is 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), SECTION (a section
	     symbol), or FILE (name of the source file).

     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; and WEAK
	     symbols are essentially global symbols with a lower precedence



									Page 1






NM(1)									 NM(1)



	     than GLOBAL.

     Other   A name scope indicator for	(rld()).  One of DEFAULT, INTERNAL,
	     HIDDEN, PROTECTED.	 (see STO_DEFAULT etc in <sys/elf.h>

     Shndx   Except for	 3 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 will not
	     change through relocation;	COMMON indicates an unallocated	block
	     and the value provides alignment constraints; and UNDEF indicates
	     an	undefined symbol.

     Name    The name of the symbol.

     The nm command supports the options listed	below.	NOTE:  The meaning of
     -o	depends	on whether -A(AT&T) or -B is in	effect when  -o	is seen	(the
     meaning depends on	the relative ordering of the options).	Examples:

       nm -Bo a.out
       nm -oB a.out

     In	the first example o is given the -B meaning, while in the second, it
     is	given the -A (default) meaning.

     -A	     Use AT&T System V Release 4 format	output.	This is	the default
	     for new 32-bit ABI	objects	and 64bit ABI objects. In XPG4 mode,
	     -A	means write the	full pathname of an object on each line.

     -B	     Use Berkeley (4.3BSD) format output.  Overrides XPG4 mode.

     -b	     Print the value field in octal.

     -C	     Print decoded C++ names.

     -d	     Print the value field in decimal.	This is	the default value
	     field radix for -A.

     -e	     Print externals and statics only.	This option applies to 32-bit
	     objects only and is ignored for 64-bit objects.

     -f	     Produce full output.  (This option	is obsolete and	does nothing
	     and will be removed in a future release).

     -g	     Print only	globally-visible names.

     -h	     Do	not print headers.

     -l	     Adds to the type field displayed in -p format by printing a '*'
	     for weak names.  Has no effect on other formats or	on -B format.






									Page 2






NM(1)									 NM(1)



     -n	     When used alone or	with -A, sort symbols by name.	By name	is the
	     default sort order	for -B.

	     When used with -B,	sort all symbols by value.

     -o	     When used alone or	with -A, print the value field in octal.

	     When used with -B,	prepend	the filename to	output line.  This is
	     useful for	grepping through nm of libraries.

     -p	     Produce easily parsable, terse output.

     -r	     Prepend the name of the object file or archive to each output
	     line (Berkeley or XPG style) or name (ATT or default style).

     -u	     Print only	undefined symbols.

     -v	     Sort symbols by value.

     -x	     Print value field in hexadecimal.	This is	the default value
	     field radix for -B.

     -T	     Only applies to the 32-bit	output format.	Truncate long names,
	     inserting a `*' as	the last printed character.  (Since symbol
	     names have	been moved to the last column, the problem of overflow
	     is	removed	and this option	is no longer necessary.)

     -V	     Print version information on standard error.

     -P	     In	XPG4 mode, write information in	a portable output format
	     according to the XPG standard.

     -t	format
	     In	XPG4 mode, write each numeric value in the specified format.
	     The format	should be one of the following:
	       d The offset will be written in decimal.
	       o The offset will be written in octal.
	       x The offset will be written in hexadecimal.

NM -B FORMAT    [Toc]    [Back]

     For 32-bit	objects	nm -B produces Berkeley	output format with address or
     value field followed by a letter showing what section the symbol is in
     and the name of the symbol.  Followed, if the symbol is a weak symbol, by
     (weak).

     These section letters describe the	information that nm generates:

	  T	  External text.

	  t	  Local	text.





									Page 3






NM(1)									 NM(1)



	  D	  External initialized data.

	  d	  Local	initialized data.

	  B	  External zeroed data.

	  b	  Local	zeroed data.

	  A	  External absolute.

	  a	  Local	absolute.

	  U	  External undefined.

	  G	  External small initialized data.

	  g	  Local	small initialized data.

	  I	  Init section (IRIX4 static shared library initialization
		  code).

	  S	  External small zeroed	data.

	  s	  Local	small zeroed data.

	  R	  External read	only.

	  r	  Local	read only.

	  C	  Common.

	  E	  Small	common.

     The following section letters were	frequently emitted by nm in earlier
     releases but are now rarely emitted.

	  N	  Nil storage class, compiler internal usage.

	  V	  External small undefined.

	  b	  Fortran based	variable

	  X	  Exception data

	  P	  Procedure section (not a normal variable).

	  F	  Fini section.

	  o	  Non GP data item (item not put in a small data area even
		  though it may	be small enough	to fit).





									Page 4






NM(1)									 NM(1)


XPG4 mode    [Toc]    [Back]

     In	XPG4 mode the format is	specified by the XPG4 standard.	The output is
     sorted alphabetically by symbol name. The following information is
     output:

	  Object  or library name, if -A is specified

	  Name	  Symbol name

	  Type	  Symbol type, which will be one of the	following single
		  characters (or one of	the Berkeley format letters where
		  non-conflicting with the following table).
				   A   Global absolute symbol
				   a   Local absolute symbol.
				   B   External	zeroed data.
				   b   Local zeroed data.
				   D   Global data symbol.
				   d   Local data symbol.
				   T   Global text symbol.
				   t   Local text symbol.
				   U   Undefined symbol.

	  Value	  The value of the symbol.

	  Size	  The size of the symbol (0 if size not	available).

NOTES    [Toc]    [Back]

     In	some previous releases the behavior of -rB was very different from -Br
     (in this case the 'r' did nothing).  This did not appear to be
     intentional and was certainly undocumented.  Now they both	do the same
     thing.

SEE ALSO    [Toc]    [Back]

      
      
     collide(1), elfdump(1), dwarfdump(1), stdump(1), odump(1),	nlist(3e)


									PPPPaaaaggggeeee 5555
[ Back ]
 Similar pages
Name OS Title
nm HP-UX print name list of common object file
getfmac FreeBSD print MAC label for a file system object
pmap_dump Linux print a list of all registered RPC programs
size HP-UX print section sizes of object files
size IRIX print the section sizes of object files
vprintf IRIX print formatted output of a variable argument list
qlist IRIX display list of print queues on a NetWare server
istat IRIX print the header information of a list of image files.
vwprintf Tru64 Print formatted output for wide characters from stdarg parameter list
vfwprintf Tru64 Print formatted output for wide characters from stdarg parameter list
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service