mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-27 14:07:32 +00:00
1f3a59e29b
- The POD versions are slated for execution, but are still around until llvm.org machinery is in place. llvm-svn: 156384
155 lines
2.5 KiB
ReStructuredText
155 lines
2.5 KiB
ReStructuredText
llvm-nm - list LLVM bitcode file's symbol table
|
|
===============================================
|
|
|
|
|
|
SYNOPSIS
|
|
--------
|
|
|
|
|
|
**llvm-nm** [*options*] [*filenames...*]
|
|
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
|
|
|
|
The **llvm-nm** utility lists the names of symbols from the LLVM bitcode files,
|
|
or **ar** archives containing LLVM bitcode files, 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, **llvm-nm** will
|
|
process a bitcode file on its standard input stream.
|
|
|
|
**llvm-nm**'s default output format is the traditional BSD **nm** 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. 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", **llvm-nm** does not print an address for any symbol,
|
|
even symbols which are defined in the bitcode file.
|
|
|
|
|
|
OPTIONS
|
|
-------
|
|
|
|
|
|
|
|
**-P**
|
|
|
|
Use POSIX.2 output format. Alias for **--format=posix**.
|
|
|
|
|
|
|
|
**-B** (default)
|
|
|
|
Use BSD output format. Alias for **--format=bsd**.
|
|
|
|
|
|
|
|
**-help**
|
|
|
|
Print a summary of command-line options and their meanings.
|
|
|
|
|
|
|
|
**--defined-only**
|
|
|
|
Print only symbols defined in this bitcode file (as opposed to
|
|
symbols which may be referenced by objects in this file, but not
|
|
defined in this file.)
|
|
|
|
|
|
|
|
**--extern-only**, **-g**
|
|
|
|
Print only symbols whose definitions are external; that is, accessible
|
|
from other bitcode files.
|
|
|
|
|
|
|
|
**--undefined-only**, **-u**
|
|
|
|
Print only symbols referenced but not defined in this bitcode file.
|
|
|
|
|
|
|
|
|
|
Select an output format; *fmt* may be *sysv*, *posix*, or *bsd*. The
|
|
default is *bsd*.
|
|
|
|
|
|
|
|
|
|
BUGS
|
|
----
|
|
|
|
|
|
**llvm-nm** cannot demangle C++ mangled names, like GNU **nm** can.
|
|
|
|
|
|
EXIT STATUS
|
|
-----------
|
|
|
|
|
|
**llvm-nm** exits with an exit code of zero.
|
|
|
|
|
|
SEE ALSO
|
|
--------
|
|
|
|
|
|
llvm-dis|llvm-dis, ar(1), nm(1)
|