LLVM-NM(1) LLVM LLVM-NM(1)
NAME
llvm-nm - list LLVM bitcode and object file's symbol table
SYNOPSIS
llvm-nm [options] [filenames]
DESCRIPTION
The llvm-nm utility lists the names of symbols from the LLVM bitcode
files, object files, or ar archives containing them, named on the com-
mand 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 file on its standard input stream.
llvm-nm's default output format is the traditional BSD nm output for-
mat. Each such output record consists of an (optional) 8-digit hexa-
decimal 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 con-
sidered to have addresses until they are linked into an executable im-
age or dynamically compiled "just-in-time", llvm-nm does not print an
address for any symbol in an LLVM bitcode file, even symbols which are
defined in the bitcode file.
OPTIONS
-B (default)
Use BSD output format. Alias for -format=bsd.
-P Use POSIX.2 output format. Alias for -format=posix.
--debug-syms, -a
Show all symbols, even debugger only.
--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.)
--dynamic, -D
Display dynamic symbols instead of normal symbols.
--extern-only, -g
Print only symbols whose definitions are external; that is, ac-
cessible from other files.
--no-weak, -W
Don't print any weak symbols in the output.
--format=format, -f format
Select an output format; format may be sysv, posix, or bsd. The
default is bsd.
-help Print a summary of command-line options and their meanings.
--no-sort, -p
Shows symbols in order encountered.
--numeric-sort, -n, -v
Sort symbols by address.
--print-file-name, -A, -o
Precede each symbol with the file it came from.
--print-size, -S
Show symbol size instead of address.
--size-sort
Sort symbols by size.
--undefined-only, -u
Print only symbols referenced but not defined in this file.
--radix=RADIX, -t
Specify the radix of the symbol address(es). Values accepted
d(decimal), x(hexadecomal) and o(octal).
BUGS
o llvm-nm does not support the full set of arguments that GNU nm
does.
EXIT STATUS
llvm-nm exits with an exit code of zero.
SEE ALSO
llvm-dis, ar(1), nm(1)
AUTHOR
Maintained by the LLVM Team (https://llvm.org/).
COPYRIGHT
2003-2020, LLVM Project
8 2020-03-19 LLVM-NM(1)