<html lang="en">
<head>
<title>Compiling - GNU gprof</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="GNU gprof">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="prev" href="Introduction.html#Introduction" title="Introduction">
<link rel="next" href="Executing.html#Executing" title="Executing">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the gprof profiler of the GNU system.

Copyright (C) 1988-2019 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''.

-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="Compiling"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Executing.html#Executing">Executing</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Introduction.html#Introduction">Introduction</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
<hr>
</div>

<h2 class="chapter">2 Compiling a Program for Profiling</h2>

<p>The first step in generating profile information for your program is
to compile and link it with profiling enabled.

   <p>To compile a source file for profiling, specify the &lsquo;<samp><span class="samp">-pg</span></samp>&rsquo; option when
you run the compiler.  (This is in addition to the options you normally
use.)

   <p>To link the program for profiling, if you use a compiler such as <code>cc</code>
to do the linking, simply specify &lsquo;<samp><span class="samp">-pg</span></samp>&rsquo; in addition to your usual
options.  The same option, &lsquo;<samp><span class="samp">-pg</span></samp>&rsquo;, alters either compilation or linking
to do what is necessary for profiling.  Here are examples:

<pre class="example">     cc -g -c myprog.c utils.c -pg
     cc -o myprog myprog.o utils.o -pg
</pre>
   <p>The &lsquo;<samp><span class="samp">-pg</span></samp>&rsquo; option also works with a command that both compiles and links:

<pre class="example">     cc -o myprog myprog.c utils.c -g -pg
</pre>
   <p>Note: The &lsquo;<samp><span class="samp">-pg</span></samp>&rsquo; option must be part of your compilation options
as well as your link options.  If it is not then no call-graph data
will be gathered and when you run <code>gprof</code> you will get an error
message like this:

<pre class="example">     gprof: gmon.out file is missing call-graph data
</pre>
   <p>If you add the &lsquo;<samp><span class="samp">-Q</span></samp>&rsquo; switch to suppress the printing of the call
graph data you will still be able to see the time samples:

<pre class="example">     Flat profile:
     
     Each sample counts as 0.01 seconds.
       %   cumulative   self              self     total
      time   seconds   seconds    calls  Ts/call  Ts/call  name
      44.12      0.07     0.07                             zazLoop
      35.29      0.14     0.06                             main
      20.59      0.17     0.04                             bazMillion
</pre>
   <p>If you run the linker <code>ld</code> directly instead of through a compiler
such as <code>cc</code>, you may have to specify a profiling startup file
<samp><span class="file">gcrt0.o</span></samp> as the first input file instead of the usual startup
file <samp><span class="file">crt0.o</span></samp>.  In addition, you would probably want to
specify the profiling C library, <samp><span class="file">libc_p.a</span></samp>, by writing
&lsquo;<samp><span class="samp">-lc_p</span></samp>&rsquo; instead of the usual &lsquo;<samp><span class="samp">-lc</span></samp>&rsquo;.  This is not absolutely
necessary, but doing this gives you number-of-calls information for
standard library functions such as <code>read</code> and <code>open</code>.  For
example:

<pre class="example">     ld -o myprog /lib/gcrt0.o myprog.o utils.o -lc_p
</pre>
   <p>If you are running the program on a system which supports shared
libraries you may run into problems with the profiling support code in
a shared library being called before that library has been fully
initialised.  This is usually detected by the program encountering a
segmentation fault as soon as it is run.  The solution is to link
against a static version of the library containing the profiling
support code, which for <code>gcc</code> users can be done via the
&lsquo;<samp><span class="samp">-static</span></samp>&rsquo; or &lsquo;<samp><span class="samp">-static-libgcc</span></samp>&rsquo; command-line option.  For
example:

<pre class="example">     gcc -g -pg -static-libgcc myprog.c utils.c -o myprog
</pre>
   <p>If you compile only some of the modules of the program with &lsquo;<samp><span class="samp">-pg</span></samp>&rsquo;, you
can still profile the program, but you won't get complete information about
the modules that were compiled without &lsquo;<samp><span class="samp">-pg</span></samp>&rsquo;.  The only information
you get for the functions in those modules is the total time spent in them;
there is no record of how many times they were called, or from where.  This
will not affect the flat profile (except that the <code>calls</code> field for
the functions will be blank), but will greatly reduce the usefulness of the
call graph.

   <p>If you wish to perform line-by-line profiling you should use the
<code>gcov</code> tool instead of <code>gprof</code>.  See that tool's manual or
info pages for more details of how to do this.

   <p>Note, older versions of <code>gcc</code> produce line-by-line profiling
information that works with <code>gprof</code> rather than <code>gcov</code> so
there is still support for displaying this kind of information in
<code>gprof</code>. See <a href="Line_002dby_002dline.html#Line_002dby_002dline">Line-by-line Profiling</a>.

   <p>It also worth noting that <code>gcc</code> implements a
&lsquo;<samp><span class="samp">-finstrument-functions</span></samp>&rsquo; command-line option which will insert
calls to special user supplied instrumentation routines at the entry
and exit of every function in their program.  This can be used to
implement an alternative profiling scheme.

   </body></html>

