=pod =head1 NAME llvm-nm - list LLVM bitcode file's symbol table =head1 SYNOPSIS B<llvm-nm> [I<options>] [I<filenames...>] =head1 DESCRIPTION The B<llvm-nm> utility lists the names of symbols from the LLVM bitcode files, or B<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 I<-> is used as a file name, B<llvm-nm> will process a bitcode file on its standard input stream. B<llvm-nm>'s default output format is the traditional BSD B<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: =over =item U Named object is referenced but undefined in this bitcode file =item C Common (multiple definitions link together into one def) =item W Weak reference (multiple definitions link together into zero or one definitions) =item t Local function (text) object =item T Global function (text) object =item d Local data object =item D Global data object =item ? Something unrecognizable =back 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", B<llvm-nm> does not print an address for any symbol, even symbols which are defined in the bitcode file. =head1 OPTIONS =over =item B<-P> Use POSIX.2 output format. Alias for B<--format=posix>. =item B<-B> (default) Use BSD output format. Alias for B<--format=bsd>. =item B<-help> Print a summary of command-line options and their meanings. =item B<--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.) =item B<--extern-only>, B<-g> Print only symbols whose definitions are external; that is, accessible from other bitcode files. =item B<--undefined-only>, B<-u> Print only symbols referenced but not defined in this bitcode file. =item B<--format=>I<fmt>, B<-f> Select an output format; I<fmt> may be I<sysv>, I<posix>, or I<bsd>. The default is I<bsd>. =back =head1 BUGS B<llvm-nm> cannot demangle C++ mangled names, like GNU B<nm> can. =head1 EXIT STATUS B<llvm-nm> exits with an exit code of zero. =head1 SEE ALSO L<llvm-dis|llvm-dis>, ar(1), nm(1) =head1 AUTHOR Maintained by the LLVM Team (L<http://llvm.org>). =cut