<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the gprof profiler of the GNU system.

Copyright (C) 1988-2014 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts.  A copy of the license is included in the
section entitled "GNU Free Documentation License".
 -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU gprof: Symspecs</title>

<meta name="description" content="GNU gprof: Symspecs">
<meta name="keywords" content="GNU gprof: Symspecs">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Invoking.html#Invoking" rel="up" title="Invoking">
<link href="Output.html#Output" rel="next" title="Output">
<link href="Deprecated-Options.html#Deprecated-Options" rel="prev" title="Deprecated Options">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Symspecs"></a>
<div class="header">
<p>
Previous: <a href="Deprecated-Options.html#Deprecated-Options" accesskey="p" rel="prev">Deprecated Options</a>, Up: <a href="Invoking.html#Invoking" accesskey="u" rel="up">Invoking</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
<hr>
<a name="Symspecs-1"></a>
<h3 class="section">4.5 Symspecs</h3>

<p>Many of the output options allow functions to be included or excluded
using <em>symspecs</em> (symbol specifications), which observe the
following syntax:
</p>
<div class="example">
<pre class="example">  filename_containing_a_dot
| funcname_not_containing_a_dot
| linenumber
| ( [ any_filename ] `:' ( any_funcname | linenumber ) )
</pre></div>

<p>Here are some sample symspecs:
</p>
<dl compact="compact">
<dt>&lsquo;<samp>main.c</samp>&rsquo;</dt>
<dd><p>Selects everything in file <samp>main.c</samp>&mdash;the
dot in the string tells <code>gprof</code> 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, &lsquo;<samp>odd:</samp>&rsquo; is
interpreted as the file named <samp>odd</samp>.
</p>
</dd>
<dt>&lsquo;<samp>main</samp>&rsquo;</dt>
<dd><p>Selects all functions named &lsquo;<samp>main</samp>&rsquo;.
</p>
<p>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.
</p>
<p>Sometimes, function names contain dots.  In such cases, it is necessary
to add a leading colon to the name.  For example, &lsquo;<samp>:.mul</samp>&rsquo; selects
function &lsquo;<samp>.mul</samp>&rsquo;.
</p>
<p>In some object file formats, symbols have a leading underscore.
<code>gprof</code> will normally not print these underscores.  When you name a
symbol in a symspec, you should type it exactly as <code>gprof</code> prints
it in its output.  For example, if the compiler produces a symbol
&lsquo;<samp>_main</samp>&rsquo; from your <code>main</code> function, <code>gprof</code> still prints
it as &lsquo;<samp>main</samp>&rsquo; in its output, so you should use &lsquo;<samp>main</samp>&rsquo; in
symspecs.
</p>
</dd>
<dt>&lsquo;<samp>main.c:main</samp>&rsquo;</dt>
<dd><p>Selects function &lsquo;<samp>main</samp>&rsquo; in file <samp>main.c</samp>.
</p>
</dd>
<dt>&lsquo;<samp>main.c:134</samp>&rsquo;</dt>
<dd><p>Selects line 134 in file <samp>main.c</samp>.
</p></dd>
</dl>




</body>
</html>
