Many of the output options allow functions to be included or excluded using symspecs (symbol specifications), which observe the following syntax:
filename_containing_a_dot | funcname_not_containing_a_dot | linenumber | ( [ any_filename ] `:' ( any_funcname | linenumber ) )
Here are some sample symspecs:
gprof
to interpret
the string as a filename, rather than as
a function name. To select a file whose
name does not contain a dot, a trailing colon
should be specified. For example, ‘odd:’ is
interpreted as the file named odd.
Note that there may be multiple instances of the same function name because some of the definitions may be local (i.e., static). Unless a function name is unique in a program, you must use the colon notation explained below to specify a function from a specific source file.
Sometimes, function names contain dots. In such cases, it is necessary to add a leading colon to the name. For example, ‘:.mul’ selects function ‘.mul’.
In some object file formats, symbols have a leading underscore.
gprof
will normally not print these underscores. When you name a
symbol in a symspec, you should type it exactly as gprof
prints
it in its output. For example, if the compiler produces a symbol
‘_main’ from your main
function, gprof
still prints
it as ‘main’ in its output, so you should use ‘main’ in
symspecs.