llvm-nm - list LLVM bitcode and object file's symbol table
llvm-nm [options] [filenames...]
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 image 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, accessible from other files. --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. BUGS o llvm-nm cannot demangle C++ mangled names, like GNU nm can. 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. ATTRIBUTES See attributes(7) for descriptions of the following attributes: +---------------+---------------------+ |ATTRIBUTE TYPE | ATTRIBUTE VALUE | +---------------+---------------------+ |Availability | developer/llvm/llvm | +---------------+---------------------+ |Stability | Uncommitted | +---------------+---------------------+ SEE ALSO llvm-dis, ar(1), nm(1) AUTHOR Maintained by The LLVM Team (http://llvm.org/). COPYRIGHT 2003-2016, LLVM Project NOTES This software was built from source available at https://github.com/oracle/solaris-userland. The original community source was downloaded from https://llvm.org//releases/6.0.0/llvm-6.0.0.src.tar.xz Further information about this software can be found on the open source community website at https://llvm.org/. 3.8 2016-07-10 LLVM-NM(1)