| <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.</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> |
| |