| <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 named on the command line, along with some | |
| ancillary information about each symbol. If no filename is specified, | |
| or - is used as a filename, <tt>llvm-nm</tt> reads its input from standard | |
| input.</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 currently see inside <tt>ar(1)</tt> library | |
| archive files, like <tt>nm(1)</tt> can. It 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> | |