Provided by: llvm-3.9_3.9.1-19ubuntu2_amd64 bug

NAME

       llvm-nm - list LLVM bitcode and object file's symbol table

SYNOPSIS

       llvm-nm [options] [filenames…]

DESCRIPTION

       The  llvm-nm utility lists the names of symbols from the LLVM bitcode files, object files,
       or 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, llvm-nm will process a file on its standard input stream.

       llvm-nm’s default output format is the traditional BSD 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”,  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

       -B (default)
              Use BSD output format.  Alias for –format=bsd.

       -P     Use POSIX.2 output format.  Alias for –format=posix.

       --debug-syms, -a
              Show all symbols, even debugger only.

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

       --dynamic, -D
              Display dynamic symbols instead of normal symbols.

       --extern-only, -g
              Print  only  symbols whose definitions are external; that is, accessible from other
              files.

       --format=format, -f format
              Select an output format; format may be sysv, posix, or bsd.  The default is bsd.

       -help  Print a summary of command-line options and their meanings.

       --no-sort, -p
              Shows symbols in order encountered.

       --numeric-sort, -n, -v
              Sort symbols by address.

       --print-file-name, -A, -o
              Precede each symbol with the file it came from.

       --print-size, -S
              Show symbol size instead of address.

       --size-sort
              Sort symbols by size.

       --undefined-only, -u
              Print only symbols referenced but not defined in this file.

       --radix=RADIX, -t
              Specify  the  radix  of  the  symbol  address(es).  Values   accepted   d(decimal),
              x(hexadecomal) and o(octal).

BUGS

          · llvm-nm cannot demangle C++ mangled names, like GNU nm can.

          · llvm-nm does not support the full set of arguments that GNU nm does.

EXIT STATUS

       llvm-nm exits with an exit code of zero.

SEE ALSO

       llvm-dis, ar(1), nm(1)

AUTHOR

       Maintained by The LLVM Team (http://llvm.org/).

COPYRIGHT

       2003-2018, LLVM Project