]> oss.titaniummirror.com Git - msp430-binutils.git/blobdiff - binutils/doc/nm.1
Merge commit 'upstream/2.20'
[msp430-binutils.git] / binutils / doc / nm.1
index 9875c6a866b02f1039979f12ed29fade39bd5464..edee81120018ed0b028b3aa5351aaca5b094d0d7 100644 (file)
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
 .    ds R" ''
 'br\}
 .\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
-.if \nF \{\
+.ie \nF \{\
 .    de IX
 .    tm Index:\\$1\t\\n%\t"\\$2"
 ..
 .    nr % 0
 .    rr F
 .\}
-.\"
-.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.hy 0
+.el \{\
+.    de IX
+..
+.\}
 .\"
 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
 .\" ========================================================================
 .\"
 .IX Title "NM 1"
-.TH NM 1 "2007-08-06" "binutils-2.17.90" "GNU Development Tools"
+.TH NM 1 "2009-10-16" "binutils-2.20" "GNU Development Tools"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
 .SH "NAME"
 nm \- list symbols from object files
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
-nm [\fB\-a\fR|\fB\-\-debug\-syms\fR] [\fB\-g\fR|\fB\-\-extern\-only\fR]
+nm [\fB\-a\fR|\fB\-\-debug\-syms\fR]
+   [\fB\-g\fR|\fB\-\-extern\-only\fR][\fB\-\-plugin\fR \fIname\fR]
    [\fB\-B\fR] [\fB\-C\fR|\fB\-\-demangle\fR[=\fIstyle\fR]] [\fB\-D\fR|\fB\-\-dynamic\fR]
    [\fB\-S\fR|\fB\-\-print\-size\fR] [\fB\-s\fR|\fB\-\-print\-armap\fR]
    [\fB\-A\fR|\fB\-o\fR|\fB\-\-print\-file\-name\fR][\fB\-\-special\-syms\fR]
@@ -166,6 +175,11 @@ linking.
 .ie n .IP """B""" 4
 .el .IP "\f(CWB\fR" 4
 .IX Item "B"
+.PD 0
+.ie n .IP """b""" 4
+.el .IP "\f(CWb\fR" 4
+.IX Item "b"
+.PD
 The symbol is in the uninitialized data section (known as \s-1BSS\s0).
 .ie n .IP """C""" 4
 .el .IP "\f(CWC\fR" 4
@@ -177,48 +191,100 @@ references.
 .ie n .IP """D""" 4
 .el .IP "\f(CWD\fR" 4
 .IX Item "D"
+.PD 0
+.ie n .IP """d""" 4
+.el .IP "\f(CWd\fR" 4
+.IX Item "d"
+.PD
 The symbol is in the initialized data section.
 .ie n .IP """G""" 4
 .el .IP "\f(CWG\fR" 4
 .IX Item "G"
+.PD 0
+.ie n .IP """g""" 4
+.el .IP "\f(CWg\fR" 4
+.IX Item "g"
+.PD
 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.
-.ie n .IP """I""" 4
-.el .IP "\f(CWI\fR" 4
-.IX Item "I"
-The symbol is an indirect reference to another symbol.  This is a \s-1GNU\s0
-extension to the a.out object file format which is rarely used.
+.ie n .IP """i""" 4
+.el .IP "\f(CWi\fR" 4
+.IX Item "i"
+For \s-1PE\s0 format files this indicates that the symbol is in a section
+specific to the implementation of DLLs.  For \s-1ELF\s0 format files this
+indicates that the symbol is an indirect function.  This is a \s-1GNU\s0
+extension to the standard set of \s-1ELF\s0 symbol types.  It indicates a
+symbol which if referenced by a relocation does not evaluate to its
+address, but instead must be invoked at runtime.  The runtime
+execution will then return the value to be used in the relocation.
 .ie n .IP """N""" 4
 .el .IP "\f(CWN\fR" 4
 .IX Item "N"
 The symbol is a debugging symbol.
+.ie n .IP """p""" 4
+.el .IP "\f(CWp\fR" 4
+.IX Item "p"
+The symbols is in a stack unwind section.
 .ie n .IP """R""" 4
 .el .IP "\f(CWR\fR" 4
 .IX Item "R"
+.PD 0
+.ie n .IP """r""" 4
+.el .IP "\f(CWr\fR" 4
+.IX Item "r"
+.PD
 The symbol is in a read only data section.
 .ie n .IP """S""" 4
 .el .IP "\f(CWS\fR" 4
 .IX Item "S"
+.PD 0
+.ie n .IP """s""" 4
+.el .IP "\f(CWs\fR" 4
+.IX Item "s"
+.PD
 The symbol is in an uninitialized data section for small objects.
 .ie n .IP """T""" 4
 .el .IP "\f(CWT\fR" 4
 .IX Item "T"
+.PD 0
+.ie n .IP """t""" 4
+.el .IP "\f(CWt\fR" 4
+.IX Item "t"
+.PD
 The symbol is in the text (code) section.
 .ie n .IP """U""" 4
 .el .IP "\f(CWU\fR" 4
 .IX Item "U"
 The symbol is undefined.
+.ie n .IP """u""" 4
+.el .IP "\f(CWu\fR" 4
+.IX Item "u"
+The symbol is a unique global symbol.  This is a \s-1GNU\s0 extension to the
+standard set of \s-1ELF\s0 symbol bindings.  For such a symbol the dynamic linker
+will make sure that in the entire process there is just one symbol with
+this name and type in use.
 .ie n .IP """V""" 4
 .el .IP "\f(CWV\fR" 4
 .IX Item "V"
+.PD 0
+.ie n .IP """v""" 4
+.el .IP "\f(CWv\fR" 4
+.IX Item "v"
+.PD
 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.
+the value of the weak symbol becomes zero with no error.  On some
+systems, uppercase indicates that a default value has been specified.
 .ie n .IP """W""" 4
 .el .IP "\f(CWW\fR" 4
 .IX Item "W"
+.PD 0
+.ie n .IP """w""" 4
+.el .IP "\f(CWw\fR" 4
+.IX Item "w"
+.PD
 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.
@@ -277,7 +343,7 @@ Decode (\fIdemangle\fR) 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. 
+choose an appropriate demangling style for your compiler.
 .IP "\fB\-\-no\-demangle\fR" 4
 .IX Item "--no-demangle"
 Do not demangle low-level symbol names.  This is the default.
@@ -307,6 +373,11 @@ either upper or lower case.
 .IX Item "--extern-only"
 .PD
 Display only external symbols.
+.IP "\fB\-\-plugin\fR \fIname\fR" 4
+.IX Item "--plugin name"
+Load the plugin called \fIname\fR to add support for extra target
+types.  This option is only available if the toolchain has been built
+with plugin support enabled.
 .IP "\fB\-l\fR" 4
 .IX Item "-l"
 .PD 0
@@ -350,7 +421,10 @@ Equivalent to \fB\-f posix\fR.
 .IP "\fB\-\-print\-size\fR" 4
 .IX Item "--print-size"
 .PD
-Print size, not the value, of defined symbols for the \f(CW\*(C`bsd\*(C'\fR output format.
+Print both value and size of defined symbols for the \f(CW\*(C`bsd\*(C'\fR output style.
+This option has no effect for object formats that do not record symbol
+sizes, unless \fB\-\-size\-sort\fR is also used in which case a
+calculated size is displayed.
 .IP "\fB\-s\fR" 4
 .IX Item "-s"
 .PD 0
@@ -425,7 +499,7 @@ Show a summary of the options to \fBnm\fR and exit.
 Read command-line options from \fIfile\fR.  The options read are
 inserted in place of the original @\fIfile\fR option.  If \fIfile\fR
 does not exist, or cannot be read, then the option will be treated
-literally, and not removed.  
+literally, and not removed.
 .Sp
 Options in \fIfile\fR are separated by whitespace.  A whitespace
 character may be included in an option by surrounding the entire
@@ -439,10 +513,10 @@ with a backslash.  The \fIfile\fR may itself contain additional
 .SH "COPYRIGHT"
 .IX Header "COPYRIGHT"
 Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 .PP
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1
+under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
 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