mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-21 16:31:16 +00:00
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)
|