nm man page on MirBSD

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



NM(1)		      GNU Development Tools		    NM(1)

NAME
     nm - list symbols from object files

SYNOPSIS
     nm [-a|--debug-syms] [-g|--extern-only]
	[-B] [-C|--demangle[=style]] [-D|--dynamic]
	[-S|--print-size] [-s|--print-armap]
	[-A|-o|--print-file-name][--special-syms]
	[-n|-v|--numeric-sort] [-p|--no-sort]
	[-r|--reverse-sort] [--size-sort] [-u|--undefined-only]
	[-t radix|--radix=radix] [-P|--portability]
	[--target=bfdname] [-fformat|--format=format]
	[--defined-only] [-l|--line-numbers] [--no-demangle]
	[-V|--version] [-X 32_64] [--help]  [objfile...]

DESCRIPTION
     GNU nm lists the symbols from object files objfile.... If no
     object files are listed as arguments, nm assumes the file
     a.out.

     For each symbol, nm shows:

     +	 The symbol value, in the radix selected by options (see
	 below), or hexadecimal by default.

     +	 The symbol type.  At least the following types are used;
	 others are, as well, depending on the object file
	 format.  If lowercase, the symbol is local; if
	 uppercase, the symbol is global (external).

	 "A" The symbol's value is absolute, and will not be
	     changed by further linking.

	 "B" The symbol is in the uninitialized data section
	     (known as BSS).

	 "C" The symbol is common.  Common symbols are
	     uninitialized data.  When linking, multiple common
	     symbols may appear with the same name.  If the
	     symbol is defined anywhere, the common symbols are
	     treated as undefined references.

	 "D" The symbol is in the initialized data section.

	 "G" The symbol is in an initialized data section for
	     small objects.  Some object file formats permit more
	     efficient access to small data objects, such as a
	     global int variable as opposed to a large global
	     array.

	 "I" The symbol is an indirect reference to another
	     symbol.  This is a GNU extension to the a.out object

binutils-050707		   2011-08-18				1

NM(1)		      GNU Development Tools		    NM(1)

	     file format which is rarely used.

	 "N" The symbol is a debugging symbol.

	 "R" The symbol is in a read only data section.

	 "S" The symbol is in an uninitialized data section for
	     small objects.

	 "T" The symbol is in the text (code) section.

	 "U" The symbol is undefined.

	 "V" The symbol is a weak object.  When a weak defined
	     symbol is linked with a normal defined symbol, the
	     normal defined symbol is used with no error. When a
	     weak undefined symbol is linked and the symbol is
	     not defined, the value of the weak symbol becomes
	     zero with no error.

	 "W" The symbol is a weak symbol that has not been
	     specifically tagged as a weak object symbol.  When a
	     weak defined symbol is linked with a normal defined
	     symbol, the normal defined symbol is used with no
	     error. When a weak undefined symbol is linked and
	     the symbol is not defined, the value of the symbol
	     is determined in a system-specific manner without
	     error.  On some systems, uppercase indicates that a
	     default value has been specified.

	 "-" The symbol is a stabs symbol in an a.out object
	     file.  In this case, the next values printed are the
	     stabs other field, the stabs desc field, and the
	     stab type.	 Stabs symbols are used to hold debugging
	     information.

	 "?" The symbol type is unknown, or object file format
	     specific.

     +	 The symbol name.

OPTIONS
     The long and short forms of options, shown here as
     alternatives, are equivalent.

     -A
     -o
     --print-file-name
	 Precede each symbol by the name of the input file (or
	 archive member) in which it was found, rather than
	 identifying the input file once only, before all of its
	 symbols.

binutils-050707		   2011-08-18				2

NM(1)		      GNU Development Tools		    NM(1)

     -a
     --debug-syms
	 Display all symbols, even debugger-only symbols;
	 normally these are not listed.

     -B	 The same as --format=bsd (for compatibility with the
	 MIPS nm).

     -C
     --demangle[=style]
	 Decode (demangle) low-level symbol names into user-level
	 names. Besides removing any initial underscore prepended
	 by the system, this makes C++ function names readable.
	 Different compilers have different mangling styles. The
	 optional demangling style argument can be used to choose
	 an appropriate demangling style for your compiler.

     --no-demangle
	 Do not demangle low-level symbol names.  This is the
	 default.

     -D
     --dynamic
	 Display the dynamic symbols rather than the normal
	 symbols.  This is only meaningful for dynamic objects,
	 such as certain types of shared libraries.

     -f format
     --format=format
	 Use the output format format, which can be "bsd",
	 "sysv", or "posix".  The default is "bsd". Only the
	 first character of format is significant; it can be
	 either upper or lower case.

     -g
     --extern-only
	 Display only external symbols.

     -l
     --line-numbers
	 For each symbol, use debugging information to try to
	 find a filename and line number.  For a defined symbol,
	 look for the line number of the address of the symbol.
	 For an undefined symbol, look for the line number of a
	 relocation entry which refers to the symbol.  If line
	 number information can be found, print it after the
	 other symbol information.

     -n
     -v
     --numeric-sort
	 Sort symbols numerically by their addresses, rather than

binutils-050707		   2011-08-18				3

NM(1)		      GNU Development Tools		    NM(1)

	 alphabetically by their names.

     -p
     --no-sort
	 Do not bother to sort the symbols in any order; print
	 them in the order encountered.

     -P
     --portability
	 Use the POSIX.2 standard output format instead of the
	 default format. Equivalent to -f posix.

     -S
     --print-size
	 Print size, not the value, of defined symbols for the
	 "bsd" output format.

     -s
     --print-armap
	 When listing symbols from archive members, include the
	 index: a mapping (stored in the archive by ar or ranlib)
	 of which modules contain definitions for which names.

     -r
     --reverse-sort
	 Reverse the order of the sort (whether numeric or
	 alphabetic); let the last come first.

     --size-sort
	 Sort symbols by size.	The size is computed as the
	 difference between the value of the symbol and the value
	 of the symbol with the next higher value.  If the "bsd"
	 output format is used the size of the symbol is printed,
	 rather than the value, and -S must be used in order both
	 size and value to be printed.

     --special-syms
	 Display symbols which have a target-specific special
	 meaning.  These symbols are usually used by the target
	 for some special processing and are not normally helpful
	 when included included in the normal symbol lists.  For
	 example for ARM targets this option would skip the
	 mapping symbols used to mark transistions between ARM
	 code, THUMB code and data.

     -t radix
     --radix=radix
	 Use radix as the radix for printing the symbol values.
	 It must be d for decimal, o for octal, or x for
	 hexadecimal.

     --target=bfdname

binutils-050707		   2011-08-18				4

NM(1)		      GNU Development Tools		    NM(1)

	 Specify an object code format other than your system's
	 default format.

     -u
     --undefined-only
	 Display only undefined symbols (those external to each
	 object file).

     --defined-only
	 Display only defined symbols for each object file.

     -V
     --version
	 Show the version number of nm and exit.

     -X	 This option is ignored for compatibility with the AIX
	 version of nm.	 It takes one parameter which must be the
	 string 32_64.	The default mode of AIX nm corresponds to
	 -X 32, which is not supported by GNU nm.

     --help
	 Show a summary of the options to nm and exit.

SEE ALSO
     ar(1), objdump(1), ranlib(1), and the Info entries for
     binutils.

COPYRIGHT
     Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997,
     1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software
     Foundation, Inc.

     Permission is granted to copy, distribute and/or modify this
     document under the terms of the GNU Free Documentation
     License, Version 1.1 or any later version published by the
     Free Software Foundation; with no Invariant Sections, with
     no Front-Cover Texts, and with no Back-Cover Texts.  A copy
     of the license is included in the section entitled ``GNU
     Free Documentation License''.

binutils-050707		   2011-08-18				5

[top]

List of man pages available for MirBSD

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