Black Lives Matter. Support the Equal Justice Initiative.

Command nm

Nm lists the symbols defined or used by an object file, archive, or executable.


go tool nm [options] file...

The default output prints one line per symbol, with three space-separated fields giving the address (in hexadecimal), type (a character), and name of the symbol. The types are:

T	text (code) segment symbol
t	static text segment symbol
R	read-only data segment symbol
r	static read-only data segment symbol
D	data segment symbol
d	static data segment symbol
B	bss segment symbol
b	static bss segment symbol
C	constant address
U	referenced but undefined symbol

Following established convention, the address is omitted for undefined symbols (type U).

The options control the printed output:

	an alias for -sort address (numeric),
	for compatibility with other nm commands
	print symbol size in decimal between address and type
-sort {address,name,none,size}
	sort output in the given order (default name)
	size orders from largest to smallest
	print symbol type after name