diff options
author | Michael J. Spencer <bigcheesegs@gmail.com> | 2012-06-06 23:34:10 +0000 |
---|---|---|
committer | Michael J. Spencer <bigcheesegs@gmail.com> | 2012-06-06 23:34:10 +0000 |
commit | 4d616646966b9effa05472ff3575fc3ce4df2b29 (patch) | |
tree | fe0cc987e9c8765cfb6d5eac4b451c18350fc424 /docs | |
parent | 1f9c3ec831cf63f7833680c38362c1e92c251aff (diff) | |
download | external_llvm-4d616646966b9effa05472ff3575fc3ce4df2b29.zip external_llvm-4d616646966b9effa05472ff3575fc3ce4df2b29.tar.gz external_llvm-4d616646966b9effa05472ff3575fc3ce4df2b29.tar.bz2 |
[llvm-nm] Update documentation to cover object file support and arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158120 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r-- | docs/CommandGuide/llvm-nm.rst | 101 |
1 files changed, 68 insertions, 33 deletions
diff --git a/docs/CommandGuide/llvm-nm.rst b/docs/CommandGuide/llvm-nm.rst index 1ada009..cbc7af2 100644 --- a/docs/CommandGuide/llvm-nm.rst +++ b/docs/CommandGuide/llvm-nm.rst @@ -1,29 +1,29 @@ -llvm-nm - list LLVM bitcode file's symbol table -=============================================== +llvm-nm - list LLVM bitcode and object file's symbol table +========================================================== SYNOPSIS -------- -**llvm-nm** [*options*] [*filenames...*] +:program:`llvm-nm` [*options*] [*filenames...*] DESCRIPTION ----------- -The **llvm-nm** utility lists the names of symbols from the LLVM bitcode files, -or **ar** 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 *-* is used as a file name, **llvm-nm** will -process a bitcode file on its standard input stream. +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. -**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. +: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: @@ -78,73 +78,108 @@ D 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, -even symbols which are defined in the bitcode file. +compiled "just-in-time", :program:`llvm-nm` does not print an address for any +symbol in a LLVM bitcode file, even symbols which are defined in the bitcode +file. OPTIONS ------- +.. program:: llvm-nm -**-P** - Use POSIX.2 output format. Alias for **--format=posix**. +.. option:: -B (default) + Use BSD output format. Alias for :option:`--format=bsd`. -**-B** (default) +.. option:: -P - Use BSD output format. Alias for **--format=bsd**. + Use POSIX.2 output format. Alias for :option:`--format=posix`. +.. option:: --debug-syms, -a -**-help** - - Print a summary of command-line options and their meanings. - + Show all symbols, even debugger only. -**--defined-only** +.. option:: --defined-only - Print only symbols defined in this bitcode file (as opposed to + 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 -**--extern-only**, **-g** + Display dynamic symbols instead of normal symbols. + + +.. option:: --extern-only, -g Print only symbols whose definitions are external; that is, accessible - from other bitcode files. + from other files. + +.. 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. -**--undefined-only**, **-u** +.. option:: --no-sort, -p - Print only symbols referenced but not defined in this bitcode file. + Shows symbols in order encountered. +.. option:: --numeric-sort, -n, -v + Sort symbols by address. - Select an output format; *fmt* may be *sysv*, *posix*, or *bsd*. The - default is *bsd*. +.. 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. BUGS ---- -**llvm-nm** cannot demangle C++ mangled names, like GNU **nm** can. + * :program:`llvm-nm` cannot demangle C++ mangled names, like GNU :program:`nm` + can. + + * :program:`llvm-nm` does not support the full set of arguments that GNU + :program:`nm` does. EXIT STATUS ----------- -**llvm-nm** exits with an exit code of zero. +:program:`llvm-nm` exits with an exit code of zero. SEE ALSO |