[llvm-commits] CVS: llvm/docs/CommandGuide/llvm-nm.pod

Brian Gaeke gaeke at cs.uiuc.edu
Thu Jul 1 14:41:01 PDT 2004


Changes in directory llvm/docs/CommandGuide:

llvm-nm.pod added (r1.1)

---
Log message:

llvm-nm pod format man page.


---
Diffs of the changes:  (+123 -0)

Index: llvm/docs/CommandGuide/llvm-nm.pod
diff -c /dev/null llvm/docs/CommandGuide/llvm-nm.pod:1.1
*** /dev/null	Thu Jul  1 14:40:47 2004
--- llvm/docs/CommandGuide/llvm-nm.pod	Thu Jul  1 14:40:36 2004
***************
*** 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
+ 





More information about the llvm-commits mailing list