2004-07-01 21:40:36 +02:00
|
|
|
=pod
|
|
|
|
|
|
|
|
=head1 NAME
|
|
|
|
|
|
|
|
llvm-nm - list LLVM bytecode file's symbol table
|
|
|
|
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
|
2004-07-02 18:06:19 +02:00
|
|
|
B<llvm-nm> [I<options>] [I<filenames...>]
|
2004-07-01 21:40:36 +02:00
|
|
|
|
|
|
|
=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
|
|
|
|
|
2004-07-02 18:06:19 +02:00
|
|
|
L<llvm-dis|llvm-dis>, L<ar(1)>, L<nm(1)>
|
2004-07-01 21:40:36 +02:00
|
|
|
|
|
|
|
=head1 AUTHOR
|
|
|
|
|
|
|
|
Maintained by the LLVM Team (L<http://llvm.cs.uiuc.edu>).
|
|
|
|
|
|
|
|
=cut
|