aboutsummaryrefslogtreecommitdiffstats
path: root/docs/CommandGuide/llvm-nm.rst
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2014-02-11 20:01:10 -0800
committerStephen Hines <srhines@google.com>2014-02-11 20:01:10 -0800
commitce9904c6ea8fd669978a8eefb854b330eb9828ff (patch)
tree2418ee2e96ea220977c8fb74959192036ab5b133 /docs/CommandGuide/llvm-nm.rst
parentc27b10b198c1d9e9b51f2303994313ec2778edd7 (diff)
parentdbb832b83351cec97b025b61c26536ef50c3181c (diff)
downloadexternal_llvm-ce9904c6ea8fd669978a8eefb854b330eb9828ff.zip
external_llvm-ce9904c6ea8fd669978a8eefb854b330eb9828ff.tar.gz
external_llvm-ce9904c6ea8fd669978a8eefb854b330eb9828ff.tar.bz2
Merge remote-tracking branch 'upstream/release_34' into merge-20140211
Conflicts: lib/Linker/LinkModules.cpp lib/Support/Unix/Signals.inc Change-Id: Ia54f291fa5dc828052d2412736e8495c1282aa64
Diffstat (limited to 'docs/CommandGuide/llvm-nm.rst')
-rw-r--r--docs/CommandGuide/llvm-nm.rst61
1 files changed, 9 insertions, 52 deletions
diff --git a/docs/CommandGuide/llvm-nm.rst b/docs/CommandGuide/llvm-nm.rst
index cbc7af2..83d9fba 100644
--- a/docs/CommandGuide/llvm-nm.rst
+++ b/docs/CommandGuide/llvm-nm.rst
@@ -1,189 +1,146 @@
llvm-nm - list LLVM bitcode and object file's symbol table
==========================================================
-
SYNOPSIS
--------
-
:program:`llvm-nm` [*options*] [*filenames...*]
-
DESCRIPTION
-----------
-
The :program:`llvm-nm` utility lists the names of symbols from the LLVM bitcode
files, object files, or :program:`ar` archives containing them, named on the
-command line. Each symbol is listed along with some simple information about its
-provenance. If no file name is specified, or *-* is used as a file name,
+command line. Each symbol is listed along with some simple information about
+its provenance. If no file name is specified, or *-* is used as a file name,
:program:`llvm-nm` will process a file on its standard input stream.
:program:`llvm-nm`'s default output format is the traditional BSD :program:`nm`
-output format. Each such output record consists of an (optional) 8-digit
+output format. Each such output record consists of an (optional) 8-digit
hexadecimal address, followed by a type code character, followed by a name, for
-each symbol. One record is printed per line; fields are separated by spaces.
+each symbol. One record is printed per line; fields are separated by spaces.
When the address is omitted, it is replaced by 8 spaces.
Type code characters currently supported, and their meanings, are as follows:
-
U
Named object is referenced but undefined in this bitcode file
-
-
C
Common (multiple definitions link together into one def)
-
-
W
Weak reference (multiple definitions link together into zero or one definitions)
-
-
t
Local function (text) object
-
-
T
Global function (text) object
-
-
d
Local data object
-
-
D
Global data object
-
-
?
Something unrecognizable
-
-
Because LLVM bitcode files typically contain objects that are not considered to
have addresses until they are linked into an executable image or dynamically
compiled "just-in-time", :program:`llvm-nm` does not print an address for any
-symbol in a LLVM bitcode file, even symbols which are defined in the bitcode
+symbol in an LLVM bitcode file, even symbols which are defined in the bitcode
file.
-
OPTIONS
-------
-
.. program:: llvm-nm
-
.. option:: -B (default)
- Use BSD output format. Alias for :option:`--format=bsd`.
-
+ Use BSD output format. Alias for :option:`--format=bsd`.
.. option:: -P
- Use POSIX.2 output format. Alias for :option:`--format=posix`.
-
+ Use POSIX.2 output format. Alias for :option:`--format=posix`.
.. option:: --debug-syms, -a
Show all symbols, even debugger only.
-
.. option:: --defined-only
Print only symbols defined in this file (as opposed to
symbols which may be referenced by objects in this file, but not
defined in this file.)
-
.. option:: --dynamic, -D
Display dynamic symbols instead of normal symbols.
-
.. option:: --extern-only, -g
Print only symbols whose definitions are external; that is, accessible
from other files.
-
.. option:: --format=format, -f format
- Select an output format; *format* may be *sysv*, *posix*, or *bsd*. The default
+ Select an output format; *format* may be *sysv*, *posix*, or *bsd*. The default
is *bsd*.
-
.. option:: -help
Print a summary of command-line options and their meanings.
-
.. option:: --no-sort, -p
Shows symbols in order encountered.
-
.. option:: --numeric-sort, -n, -v
Sort symbols by address.
-
.. option:: --print-file-name, -A, -o
Precede each symbol with the file it came from.
-
.. option:: --print-size, -S
Show symbol size instead of address.
-
.. option:: --size-sort
Sort symbols by size.
-
.. option:: --undefined-only, -u
Print only symbols referenced but not defined in this file.
-
BUGS
----
-
* :program:`llvm-nm` cannot demangle C++ mangled names, like GNU :program:`nm`
can.
* :program:`llvm-nm` does not support the full set of arguments that GNU
:program:`nm` does.
-
EXIT STATUS
-----------
-
:program:`llvm-nm` exits with an exit code of zero.
-
SEE ALSO
--------
-
-llvm-dis|llvm-dis, ar(1), nm(1)
+llvm-dis, ar(1), nm(1)