| <html> | 
 | <title> | 
 | LLVM: llvm-nm tool | 
 | </title> | 
 |  | 
 | <body bgcolor=white> | 
 |  | 
 | <center><h1>LLVM: <tt>llvm-nm</tt> tool</h1></center> | 
 | <HR> | 
 |  | 
 | <h3>NAME</h3> | 
 | <tt>llvm-nm</tt> | 
 |  | 
 | <h3>SYNOPSIS</h3> | 
 | <tt>llvm-nm [options] [filenames...]</tt> | 
 |  | 
 | <h3>DESCRIPTION</h3> | 
 |  | 
 | <p>The <tt>llvm-nm</tt> utility lists the names of symbols from the | 
 | LLVM bytecode files, or <tt>ar(1)</tt> 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 - is used as a filename, <tt>llvm-nm</tt> will process a bytecode file | 
 | on its standard input stream.</p> | 
 |  | 
 | <p><tt>llvm-nm</tt>'s default output format is the traditional BSD | 
 | <tt>nm(1)</tt> 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.</p> | 
 |  | 
 | <p>Type code characters currently supported, and their meanings, are | 
 | as follows:</p> | 
 |  | 
 | <table border> | 
 | <tr><td>U</td><td>Named object is referenced but undefined in this | 
 |               bytecode file</td></tr> | 
 | <tr><td>C</td><td>Common (multiple defs link together into one | 
 |               def)</td></tr> | 
 | <tr><td>W</td><td>Weak reference (multiple defs link together into zero or | 
 |               one defs)</td></tr> | 
 | <tr><td>t</td><td>Local function (text) object</td></tr> | 
 | <tr><td>T</td><td>Global function (text) object</td></tr> | 
 | <tr><td>d</td><td>Local data object</td></tr> | 
 | <tr><td>D</td><td>Global data object</td></tr> | 
 | <tr><td>?</td><td>Something unrecognizable</td></tr> | 
 | </table> | 
 |  | 
 | <p>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", <tt>llvm-nm</tt> does | 
 | not print an address for any symbol, even symbols which are defined in | 
 | the bytecode file.</p> | 
 |  | 
 | <h3>OPTIONS</h3> | 
 |  | 
 | <ul> | 
 | 	<li> -P | 
 | 	<br> | 
 |         Use POSIX.2 output format. Alias for --format=posix. | 
 | 	<p> | 
 | 	<li> -B    (default) | 
 | 	<br> | 
 |         Use BSD output format. Alias for --format=bsd. | 
 | 	<p> | 
 |  | 
 | 	<li> -help | 
 | 	<br> | 
 | 	Print a summary of command-line options and their meanings. | 
 | 	<p> | 
 |  | 
 | 	<li> -defined-only | 
 | 	<br> | 
 | 	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.) | 
 | 	<p> | 
 |  | 
 | 	<li> -extern-only, -g | 
 | 	<br> | 
 | 	Print only symbols whose definitions are external; that is, | 
 |         accessible from other bytecode files. | 
 | 	<p> | 
 |  | 
 | 	<li> -undefined-only, -u | 
 | 	<br> | 
 | 	Print only symbols referenced but not defined in this bytecode | 
 |         file. | 
 | 	<p> | 
 |  | 
 | 	<li> -format=<i>fmt</i>, -f | 
 | 	<br> | 
 | 	Select an output format; <i>fmt</i> may be sysv, posix, or | 
 |         bsd. The default is bsd. | 
 | 	<p> | 
 | </ul> | 
 |  | 
 | <h3>BUGS</h3> | 
 |  | 
 | <tt>llvm-nm</tt> cannot demangle C++ mangled | 
 | names, like GNU <tt>nm(1)</tt> can. | 
 |  | 
 | <h3>EXIT STATUS</h3> | 
 |  | 
 | <tt>llvm-nm</tt> exits with an exit code of zero. | 
 |  | 
 | <h3>SEE ALSO</h3> | 
 |  | 
 | <a href="llvm-dis.html"><tt>llvm-dis</tt></a>, | 
 | <tt>ar(1)</tt>, | 
 | <tt>nm(1)</tt> | 
 |  | 
 | <HR> | 
 | Maintained by the <a href="http://llvm.cs.uiuc.edu">LLVM Team</a>. | 
 | </body> | 
 | </html> | 
 |  |