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

FreeBSD Manual Pages

  
 
  

home | help
NM(1)			FreeBSD	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 sym-
     bolic information in an otherwise valid input file, is not	considered 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-readable
		  names.  Supported values for argument	style are `auto',
		  `gnu-v2', `gnu-v3' and `arm.'	If argument style is not spec-
		  ified, it is taken to	be `auto'.

     --dynamic	  Only display dynamic symbols.	 This option is	only meaning-
		  ful 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 information.

     --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 mem-
		  bers.

     --print-file-name
		  Write	the full pathname or library name of an	object on each
		  line,	before the rest	of the information for a symbol.  If
		  this option is not specified,	nm will	only identify 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
		  octal, 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
		  options, this	option is equivalent to	specifying
		  --radix=`o'.	If POSIX output	was not	specified, this	option
		  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,
     numeric radices and sort orders.  By default nm uses BSD style output, a
     hexadecimal radix,	without	output sorted alphabetically by	name and with-
     out demangling of names.

     For each symbol listed, nm	presents the following information:
     +o	 The library or	object name, if	options	-A or --print-file-name	were
	 specified.
     +o	 The symbol name.
     +o	 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.
     +o	 The value of the symbol.
     +o	 The size of the symbol	if applicable.
     +o	 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	11.1			 May 21, 2017			  FreeBSD 11.1

NAME | SYNOPSIS | DESCRIPTION | OUTPUT FORMAT | EXIT STATUS | SEE ALSO | AUTHORS

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

home | help