~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to docs/CommandGuide/llvm-nm.rst

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2015-07-15 17:51:08 UTC
  • Revision ID: package-import@ubuntu.com-20150715175108-l8mynwovkx4zx697
Tags: upstream-3.7~+rc2
ImportĀ upstreamĀ versionĀ 3.7~+rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
llvm-nm - list LLVM bitcode and object file's symbol table
 
2
==========================================================
 
3
 
 
4
SYNOPSIS
 
5
--------
 
6
 
 
7
:program:`llvm-nm` [*options*] [*filenames...*]
 
8
 
 
9
DESCRIPTION
 
10
-----------
 
11
 
 
12
The :program:`llvm-nm` utility lists the names of symbols from the LLVM bitcode
 
13
files, object files, or :program:`ar` archives containing them, named on the
 
14
command line.  Each symbol is listed along with some simple information about
 
15
its provenance.  If no file name is specified, or *-* is used as a file name,
 
16
:program:`llvm-nm` will process a file on its standard input stream.
 
17
 
 
18
:program:`llvm-nm`'s default output format is the traditional BSD :program:`nm`
 
19
output format.  Each such output record consists of an (optional) 8-digit
 
20
hexadecimal address, followed by a type code character, followed by a name, for
 
21
each symbol.  One record is printed per line; fields are separated by spaces.
 
22
When the address is omitted, it is replaced by 8 spaces.
 
23
 
 
24
Type code characters currently supported, and their meanings, are as follows:
 
25
 
 
26
U
 
27
 
 
28
 Named object is referenced but undefined in this bitcode file
 
29
 
 
30
C
 
31
 
 
32
 Common (multiple definitions link together into one def)
 
33
 
 
34
W
 
35
 
 
36
 Weak reference (multiple definitions link together into zero or one definitions)
 
37
 
 
38
t
 
39
 
 
40
 Local function (text) object
 
41
 
 
42
T
 
43
 
 
44
 Global function (text) object
 
45
 
 
46
d
 
47
 
 
48
 Local data object
 
49
 
 
50
D
 
51
 
 
52
 Global data object
 
53
 
 
54
?
 
55
 
 
56
 Something unrecognizable
 
57
 
 
58
Because LLVM bitcode files typically contain objects that are not considered to
 
59
have addresses until they are linked into an executable image or dynamically
 
60
compiled "just-in-time", :program:`llvm-nm` does not print an address for any
 
61
symbol in an LLVM bitcode file, even symbols which are defined in the bitcode
 
62
file.
 
63
 
 
64
OPTIONS
 
65
-------
 
66
 
 
67
.. program:: llvm-nm
 
68
 
 
69
.. option:: -B    (default)
 
70
 
 
71
 Use BSD output format.  Alias for :option:`--format=bsd`.
 
72
 
 
73
.. option:: -P
 
74
 
 
75
 Use POSIX.2 output format.  Alias for :option:`--format=posix`.
 
76
 
 
77
.. option:: --debug-syms, -a
 
78
 
 
79
 Show all symbols, even debugger only.
 
80
 
 
81
.. option:: --defined-only
 
82
 
 
83
 Print only symbols defined in this file (as opposed to
 
84
 symbols which may be referenced by objects in this file, but not
 
85
 defined in this file.)
 
86
 
 
87
.. option:: --dynamic, -D
 
88
 
 
89
 Display dynamic symbols instead of normal symbols.
 
90
 
 
91
.. option:: --extern-only, -g
 
92
 
 
93
 Print only symbols whose definitions are external; that is, accessible
 
94
 from other files.
 
95
 
 
96
.. option:: --format=format, -f format
 
97
 
 
98
 Select an output format; *format* may be *sysv*, *posix*, or *bsd*.  The default
 
99
 is *bsd*.
 
100
 
 
101
.. option:: -help
 
102
 
 
103
 Print a summary of command-line options and their meanings.
 
104
 
 
105
.. option:: --no-sort, -p
 
106
 
 
107
 Shows symbols in order encountered.
 
108
 
 
109
.. option:: --numeric-sort, -n, -v
 
110
 
 
111
 Sort symbols by address.
 
112
 
 
113
.. option:: --print-file-name, -A, -o
 
114
 
 
115
 Precede each symbol with the file it came from.
 
116
 
 
117
.. option:: --print-size, -S
 
118
 
 
119
 Show symbol size instead of address.
 
120
 
 
121
.. option:: --size-sort
 
122
 
 
123
 Sort symbols by size.
 
124
 
 
125
.. option:: --undefined-only, -u
 
126
 
 
127
 Print only symbols referenced but not defined in this file.
 
128
 
 
129
BUGS
 
130
----
 
131
 
 
132
 * :program:`llvm-nm` cannot demangle C++ mangled names, like GNU :program:`nm`
 
133
   can.
 
134
 
 
135
 * :program:`llvm-nm` does not support the full set of arguments that GNU
 
136
   :program:`nm` does.
 
137
 
 
138
EXIT STATUS
 
139
-----------
 
140
 
 
141
:program:`llvm-nm` exits with an exit code of zero.
 
142
 
 
143
SEE ALSO
 
144
--------
 
145
 
 
146
llvm-dis, ar(1), nm(1)