<?xml version="1.0" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>llvm-nm</title> <link rel="stylesheet" href="manpage.css" type="text/css" /> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link rev="made" href="mailto:root@localhost" /> </head> <body> <!-- INDEX BEGIN --> <div name="index"> <p><a name="__index__"></a></p> <!-- <ul> <li><a href="#name">NAME</a></li> <li><a href="#synopsis">SYNOPSIS</a></li> <li><a href="#description">DESCRIPTION</a></li> <li><a href="#options">OPTIONS</a></li> <li><a href="#bugs">BUGS</a></li> <li><a href="#exit_status">EXIT STATUS</a></li> <li><a href="#see_also">SEE ALSO</a></li> <li><a href="#author">AUTHOR</a></li> </ul> --> </div> <!-- INDEX END --> <p> </p> <hr /> <h1><a name="name">NAME</a></h1> <p>llvm-nm - list LLVM bitcode file's symbol table</p> <p> </p> <hr /> <h1><a name="synopsis">SYNOPSIS</a></h1> <p><strong>llvm-nm</strong> [<em>options</em>] [<em>filenames...</em>]</p> <p> </p> <hr /> <h1><a name="description">DESCRIPTION</a></h1> <p>The <strong>llvm-nm</strong> utility lists the names of symbols from the LLVM bitcode files, or <strong>ar</strong> archives containing LLVM bitcode files, named on the command line. Each symbol is listed along with some simple information about its provenance. If no file name is specified, or <em>-</em> is used as a file name, <strong>llvm-nm</strong> will process a bitcode file on its standard input stream.</p> <p><strong>llvm-nm</strong>'s default output format is the traditional BSD <strong>nm</strong> 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> <dl> <dt><strong><a name="u" class="item">U</a></strong></dt> <dd> <p>Named object is referenced but undefined in this bitcode file</p> </dd> <dt><strong><a name="c" class="item">C</a></strong></dt> <dd> <p>Common (multiple definitions link together into one def)</p> </dd> <dt><strong><a name="w" class="item">W</a></strong></dt> <dd> <p>Weak reference (multiple definitions link together into zero or one definitions)</p> </dd> <dt><strong><a name="t" class="item">t</a></strong></dt> <dd> <p>Local function (text) object</p> </dd> <dt><strong><a name="t" class="item">T</a></strong></dt> <dd> <p>Global function (text) object</p> </dd> <dt><strong><a name="d" class="item">d</a></strong></dt> <dd> <p>Local data object</p> </dd> <dt><strong><a name="d" class="item">D</a></strong></dt> <dd> <p>Global data object</p> </dd> <dt><strong><a name="" class="item">?</a></strong></dt> <dd> <p>Something unrecognizable</p> </dd> </dl> <p>Because LLVM bitcode 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", <strong>llvm-nm</strong> does not print an address for any symbol, even symbols which are defined in the bitcode file.</p> <p> </p> <hr /> <h1><a name="options">OPTIONS</a></h1> <dl> <dt><strong><a name="p" class="item"><strong>-P</strong></a></strong></dt> <dd> <p>Use POSIX.2 output format. Alias for <strong>--format=posix</strong>.</p> </dd> <dt><strong><a name="b" class="item"><strong>-B</strong> (default)</a></strong></dt> <dd> <p>Use BSD output format. Alias for <strong>--format=bsd</strong>.</p> </dd> <dt><strong><a name="help" class="item"><strong>-help</strong></a></strong></dt> <dd> <p>Print a summary of command-line options and their meanings.</p> </dd> <dt><strong><a name="defined_only" class="item"><strong>--defined-only</strong></a></strong></dt> <dd> <p>Print only symbols defined in this bitcode file (as opposed to symbols which may be referenced by objects in this file, but not defined in this file.)</p> </dd> <dt><strong><a name="extern_only_g" class="item"><strong>--extern-only</strong>, <strong>-g</strong></a></strong></dt> <dd> <p>Print only symbols whose definitions are external; that is, accessible from other bitcode files.</p> </dd> <dt><strong><a name="undefined_only_u" class="item"><strong>--undefined-only</strong>, <strong>-u</strong></a></strong></dt> <dd> <p>Print only symbols referenced but not defined in this bitcode file.</p> </dd> <dt><strong><a name="format_fmt_f" class="item"><strong>--format=</strong><em>fmt</em>, <strong>-f</strong></a></strong></dt> <dd> <p>Select an output format; <em>fmt</em> may be <em>sysv</em>, <em>posix</em>, or <em>bsd</em>. The default is <em>bsd</em>.</p> </dd> </dl> <p> </p> <hr /> <h1><a name="bugs">BUGS</a></h1> <p><strong>llvm-nm</strong> cannot demangle C++ mangled names, like GNU <strong>nm</strong> can.</p> <p> </p> <hr /> <h1><a name="exit_status">EXIT STATUS</a></h1> <p><strong>llvm-nm</strong> exits with an exit code of zero.</p> <p> </p> <hr /> <h1><a name="see_also">SEE ALSO</a></h1> <p><a href="././llvm-dis.html">llvm-dis</a>, <code>ar(1)</code>, <code>nm(1)</code></p> <p> </p> <hr /> <h1><a name="author">AUTHOR</a></h1> <p>Maintained by the LLVM Team (<a href="http://llvm.org">http://llvm.org</a>).</p> </body> </html>