mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-03 14:21:30 +00:00 
			
		
		
		
	git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188627 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			147 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			147 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
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 :option:`--format=bsd`.
 | 
						|
 | 
						|
.. option:: -P
 | 
						|
 | 
						|
 Use POSIX.2 output format.  Alias for :option:`--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:: --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.
 | 
						|
 | 
						|
BUGS
 | 
						|
----
 | 
						|
 | 
						|
 * :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
 | 
						|
-----------
 | 
						|
 | 
						|
:program:`llvm-nm` exits with an exit code of zero.
 | 
						|
 | 
						|
SEE ALSO
 | 
						|
--------
 | 
						|
 | 
						|
llvm-dis, ar(1), nm(1)
 |