nm : Command to list the symbols in object files.

nm displays the name list (symbol table of nlist structures) of each object file in the argument list. If you want to peep into an object file and see what are the various symbols that are defines in it the command will come handy. It takes an object file as input and lists out all the symbols, their address and in which section, text,data,uninitialized etc, is the symbol present in as the output.

For example let us assume we have an object file “hello.o” for the simple hello world program hello.c.

#include<stdio.h>
main()
{
printf("Hello world");
}

Running “nm” on the hello.o will yield:

$ nm hello.o
00000000 T main
                U printf

T before “main” signifies it is in the text section and the “U” before printf means it is undefined in this code. The first column gives the value of the symbol.

For more information on the command, please check the man page:

# man nm
Related Post