Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
NM(1)			    General Commands Manual			 NM(1)

NAME
       nm -- display symbolic information in object files

SYNOPSIS
       nm  [--debug-syms]  [--defined-only]  [--demangle[=style]]  [--dynamic]
	  [--extern-only]    [--help]	  [--line-numbers]     [--no-demangle]
	  [--no-sort]	[--numeric-sort]  [--print-armap]  [--print-file-name]
	  [--print-size]   [--radix=format]   [--reverse-sort]	 [--size-sort]
	  [--undefined-only] [--version] [-A] [-B] [-C [style]]	[-D] [-P] [-V]
	  [-a]	[-e]  [-g] [-h]	[-l] [-n] [-o] [-p] [-r] [-S] [-s] [-t format]
	  [-u] [-x] file ...

DESCRIPTION
       The nm utility displays symbolic	information in the object files,  exe-
       cutables,  and  object  library	files named by its arguments.  Lack of
       symbolic	information in an otherwise valid input	file, is  not  consid-
       ered to be an error.  If	no files are specified on the command line, nm
       will attempt to read a.out.

       The nm utility recognizes the following options:

       --debug-syms
		    Display all	symbols, including debugger-only symbols.

       --defined-only
		    Display only defined symbols.

       --demangle[=style]
		    Decode  (demangle) low-level symbol	names into human-read-
		    able names.	  Supported  values  for  argument  style  are
		    `auto', `gnu-v2', `gnu-v3' and `arm.' If argument style is
		    not	specified, it is taken to be `auto'.

       --dynamic    Only  display  dynamic symbols.  This option is only mean-
		    ingful for shared libraries.

       --extern-only
		    Only display information about global (external) symbols.

       --help	    Display a help message and exit.

       --format=format
		    Display output in the format specified by argument format.
		    Supported  values  for  the	 format	 argument  are	`bsd',
		    `sysv', and	`posix'.  The default output format is `bsd'.

       --line-numbers
		    Display  the  filename and line number associated a	symbol
		    using any debugging	information present in the input file.
		    For	defined	symbols, look up the  line  number  associated
		    with  the  address	of the symbol.	For undefined symbols,
		    look up the	line number associated with a relocation entry
		    that refers	to the symbol.	If line	number information can
		    be determined, it is displayed after other symbol informa-
		    tion.

       --no-demangle
		    Do not demangle symbol names (default).

       --no-sort    Do not sort	symbols.

       --numeric-sort
		    Sort symbols numerically by	address	instead	of  alphabeti-
		    cally by name.

       --print-armap
		    For	 ar(1)	archives,  include  the	index of the archive's
		    members.

       --print-file-name
		    Write the full pathname or library name of	an  object  on
		    each  line,	 before	the rest of the	information for	a sym-
		    bol.  If this option is not	specified, nm will only	 iden-
		    tify an input file once, before its	symbols	are listed.

       --print-size
		    Print the size of each symbol instead of its value.

       --radix=radix
		    Print numeric values using the specified radix.  Supported
		    values for argument	radix are `d' for decimal, `o' for oc-
		    tal, and `x' for hexadecimal.

       --reverse-sort
		    Reverse the	order of the sort.

       --size-sort  Sort symbols by size instead of alphabetically by name.

       --undefined-only
		    Display only undefined symbols.

       --version    Display the	version	identifier for nm and exit.

       -A	    Equivalent to specifying option --print-file-name.

       -B	    Equivalent to specifying option --format=bsd.

       -C [style]   Equivalent to specifying option --demangle[=style].

       -D	    Equivalent to specifying option --dynamic.

       -F format    Equivalent to specifying option --format=format.

       -P	    Equivalent to specifying option --format=posix.

       -S	    Equivalent to specifying option --print-size.

       -V	    Equivalent to specifying option --version.

       -a	    Equivalent to specifying option --debug-syms.

       -e	    Only display information for global	and static symbols.

       -f	    Produce full output	(default).

       -g	    Equivalent to specifying option --extern-only.

       -h	    Equivalent to specifying option --help.

       -l	    Equivalent to specifying option --line-numbers.

       -n	    Equivalent to specifying option --numeric-sort.

       -o	    If POSIX output was	specified using	the -F posix or	-P op-
		    tions,   this   option   is	  equivalent   to   specifying
		    --radix=`o'.  If POSIX output was not specified, this  op-
		    tion acts as a synonym for the --print-file-name option.

       -p	    Equivalent to specifying option --no-sort.

       -v	    Equivalent to option -n.

       -r	    Equivalent to specifying option --reverse-sort

       -s	    Equivalent to specifying option --print-armap.

       -t radix	    Equivalent to specifying option --radix=radix.

       -u	    Equivalent to specifying option --undefined-only.

       -x	    Write numeric values in hexadecimal	(equivalent to -t x).

OUTPUT FORMAT
       The  nm utility can present its information in a	number of formats, nu-
       meric radices and sort orders.  By default nm uses BSD style output,  a
       hexadecimal  radix,  without  output  sorted alphabetically by name and
       without demangling of names.

       For each	symbol listed, nm presents the following information:
          The library or object name, if options -A or	--print-file-name were
	   specified.
          The symbol name.
          The type of the symbol denoted by a single character	as below:
	   A	   A global, absolute symbol.
	   B	   A global "bss" (uninitialized data) symbol.
	   C	   A "common" symbol, representing uninitialized data.
	   D	   A global symbol naming initialized data.
	   N	   A debugger symbol.
	   R	   A read-only data symbol.
	   T	   A global text symbol.
	   U	   An undefined	symbol.
	   V	   A weak object.
	   W	   A weak reference.
	   a	   A local absolute symbol.
	   b	   A local "bss" (uninitialized	data) symbol.
	   d	   A local data	symbol.
	   r	   A local read-only data symbol.
	   t	   A local text	symbol.
	   v	   A weak object that is undefined.
	   w	   A weak symbol that is undefined.
	   ?	   None	of the above.
          The value of	the symbol.
          The size of the symbol if applicable.
          Line	 number	 information,  if  available  and  if  options	-l  or
	   --line-numbers were specified.

EXIT STATUS
       The nm utility exits 0 on success, and >0 if an error occurs.

SEE ALSO
       ar(1), objdump(1), ranlib(1), elf(3)

AUTHORS
       The  nm	utility	 and  this  manual  page  were	written	by Hyogeol Lee
       <hyogeollee@gmail.com>.

FreeBSD	14.3		      September	13, 2017			 NM(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=nm&sektion=1&manpath=FreeBSD+14.3-RELEASE+and+Ports>

home | help