|  | =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 |