blob: 2a974cd43816a1f496fb41b4b907a3dfaa022da4 [file] [log] [blame]
<!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, 1992, 1997, 1998, 1999, 2000, 2001, 2003,
2007, 2008, 2009 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>