summaryrefslogtreecommitdiff
path: root/docs/CommandGuide/llvm-nm.pod
diff options
context:
space:
mode:
authorBrian Gaeke <gaeke@uiuc.edu>2004-07-01 19:40:36 +0000
committerBrian Gaeke <gaeke@uiuc.edu>2004-07-01 19:40:36 +0000
commitf18c06a3c641bcce57b5895d8b6d07a1291ae0ad (patch)
tree5ccbd2ec16fff335fe9e218a71666aeee8fdc32e /docs/CommandGuide/llvm-nm.pod
parenta9160a064fcbe7e389d4d8a502b45fe5e63019d9 (diff)
downloadllvm-f18c06a3c641bcce57b5895d8b6d07a1291ae0ad.tar.gz
llvm-f18c06a3c641bcce57b5895d8b6d07a1291ae0ad.tar.bz2
llvm-f18c06a3c641bcce57b5895d8b6d07a1291ae0ad.tar.xz
llvm-nm pod format man page.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14542 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/CommandGuide/llvm-nm.pod')
-rw-r--r--docs/CommandGuide/llvm-nm.pod123
1 files changed, 123 insertions, 0 deletions
diff --git a/docs/CommandGuide/llvm-nm.pod b/docs/CommandGuide/llvm-nm.pod
new file mode 100644
index 0000000000..62080808a0
--- /dev/null
+++ b/docs/CommandGuide/llvm-nm.pod
@@ -0,0 +1,123 @@
+=pod
+
+=head1 NAME
+
+llvm-nm - list LLVM bytecode file's symbol table
+
+=head1 SYNOPSIS
+
+llvm-nm [options] [filenames...]
+
+=head1 DESCRIPTION
+
+The B<llvm-nm> utility lists the names of symbols from the LLVM bytecode files,
+or B<ar> archives containing LLVM bytecode files, named on the command line.
+Each symbol is listed along with some simple information about its provenance.
+If no filename is specified, or I<-> is used as a filename, B<llvm-nm> will
+process a bytecode 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 bytecode file
+
+=item C
+
+Common (multiple defs link together into one def)
+
+=item W
+
+Weak reference (multiple defs link together into zero or one defs)
+
+=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 bytecode 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 bytecode 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 bytecode 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 bytecode files.
+
+=item B<--undefined-only>, B<-u>
+
+Print only symbols referenced but not defined in this bytecode 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>, L<ar(1)>, L<nm(1)>
+
+=head1 AUTHOR
+
+Maintained by the LLVM Team (L<http://llvm.cs.uiuc.edu>).
+
+=cut
+