|  | llvm-nm - list LLVM bitcode and object file's symbol table | 
|  | ========================================================== | 
|  |  | 
|  | SYNOPSIS | 
|  | -------- | 
|  |  | 
|  | :program:`llvm-nm` [*options*] [*filenames...*] | 
|  |  | 
|  | DESCRIPTION | 
|  | ----------- | 
|  |  | 
|  | The :program:`llvm-nm` utility lists the names of symbols from the LLVM bitcode | 
|  | files, object files, or :program:`ar` archives containing them, named on the | 
|  | command line.  Each symbol is listed along with some simple information about | 
|  | its provenance.  If no file name is specified, or *-* is used as a file name, | 
|  | :program:`llvm-nm` will process a file on its standard input stream. | 
|  |  | 
|  | :program:`llvm-nm`'s default output format is the traditional BSD :program:`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: | 
|  |  | 
|  | U | 
|  |  | 
|  | Named object is referenced but undefined in this bitcode file | 
|  |  | 
|  | C | 
|  |  | 
|  | Common (multiple definitions link together into one def) | 
|  |  | 
|  | W | 
|  |  | 
|  | Weak reference (multiple definitions link together into zero or one definitions) | 
|  |  | 
|  | t | 
|  |  | 
|  | Local function (text) object | 
|  |  | 
|  | T | 
|  |  | 
|  | Global function (text) object | 
|  |  | 
|  | d | 
|  |  | 
|  | Local data object | 
|  |  | 
|  | D | 
|  |  | 
|  | Global data object | 
|  |  | 
|  | ? | 
|  |  | 
|  | Something unrecognizable | 
|  |  | 
|  | 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", :program:`llvm-nm` does not print an address for any | 
|  | symbol in an LLVM bitcode file, even symbols which are defined in the bitcode | 
|  | file. | 
|  |  | 
|  | OPTIONS | 
|  | ------- | 
|  |  | 
|  | .. program:: llvm-nm | 
|  |  | 
|  | .. option:: -B    (default) | 
|  |  | 
|  | Use BSD output format.  Alias for `--format=bsd`. | 
|  |  | 
|  | .. option:: -P | 
|  |  | 
|  | Use POSIX.2 output format.  Alias for `--format=posix`. | 
|  |  | 
|  | .. option:: --debug-syms, -a | 
|  |  | 
|  | Show all symbols, even debugger only. | 
|  |  | 
|  | .. option:: --defined-only | 
|  |  | 
|  | Print only symbols defined in this file (as opposed to | 
|  | symbols which may be referenced by objects in this file, but not | 
|  | defined in this file.) | 
|  |  | 
|  | .. option:: --dynamic, -D | 
|  |  | 
|  | Display dynamic symbols instead of normal symbols. | 
|  |  | 
|  | .. option:: --extern-only, -g | 
|  |  | 
|  | Print only symbols whose definitions are external; that is, accessible | 
|  | from other files. | 
|  |  | 
|  | .. option:: --no-weak, -W | 
|  |  | 
|  | Don't print any weak symbols in the output. | 
|  |  | 
|  | .. option:: --format=format, -f format | 
|  |  | 
|  | Select an output format; *format* may be *sysv*, *posix*, or *bsd*.  The default | 
|  | is *bsd*. | 
|  |  | 
|  | .. option:: -help | 
|  |  | 
|  | Print a summary of command-line options and their meanings. | 
|  |  | 
|  | .. option:: --no-sort, -p | 
|  |  | 
|  | Shows symbols in order encountered. | 
|  |  | 
|  | .. option:: --numeric-sort, -n, -v | 
|  |  | 
|  | Sort symbols by address. | 
|  |  | 
|  | .. option:: --print-file-name, -A, -o | 
|  |  | 
|  | Precede each symbol with the file it came from. | 
|  |  | 
|  | .. option:: --print-size, -S | 
|  |  | 
|  | Show symbol size instead of address. | 
|  |  | 
|  | .. option:: --size-sort | 
|  |  | 
|  | Sort symbols by size. | 
|  |  | 
|  | .. option:: --undefined-only, -u | 
|  |  | 
|  | Print only symbols referenced but not defined in this file. | 
|  |  | 
|  | .. option:: --radix=RADIX, -t | 
|  |  | 
|  | Specify the radix of the symbol address(es). Values accepted d(decimal), | 
|  | x(hexadecomal) and o(octal). | 
|  |  | 
|  | BUGS | 
|  | ---- | 
|  |  | 
|  | * :program:`llvm-nm` does not support the full set of arguments that GNU | 
|  | :program:`nm` does. | 
|  |  | 
|  | EXIT STATUS | 
|  | ----------- | 
|  |  | 
|  | :program:`llvm-nm` exits with an exit code of zero. | 
|  |  | 
|  | SEE ALSO | 
|  | -------- | 
|  |  | 
|  | llvm-dis, ar(1), nm(1) |