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