daily update
[external/binutils.git] / gprof / gprof.texi
index 058d5e7..30f43f9 100644 (file)
 @include bfdver.texi
 @c man end
 
-@ifinfo
+@ifnottex
 @c This is a dir.info fragment to support semi-automated addition of
 @c manuals to an info tree.  zoo@cygnus.com is developing this facility.
-@format
-START-INFO-DIR-ENTRY
+@dircategory Software development
+@direntry
 * gprof: (gprof).                Profiling your program's execution
-END-INFO-DIR-ENTRY
-@end format
-@end ifinfo
+@end direntry
+@end ifnottex
 
 @copying
 This file documents the gprof profiler of the GNU system.
 
 @c man begin COPYRIGHT
-Copyright @copyright{} 1988, 92, 97, 98, 99, 2000, 2001, 2003, 2007, 2008, 2009 Free Software Foundation, Inc.
+Copyright @copyright{} 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
@@ -57,7 +57,8 @@ execute programs.  @sc{gnu} @code{gprof} was written by Jay Fenlason.
 Eric S. Raymond made some minor corrections and additions in 2003.
 
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1988, 92, 97, 98, 99, 2000, 2003, 2008, 2009 Free Software Foundation, Inc.
+Copyright @copyright{} 1988, 1992, 1997, 1998, 1999, 2000, 2003, 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
@@ -785,10 +786,10 @@ number, and then exit.
 @node Deprecated Options
 @section Deprecated Options
 
-@table @code
-
 These options have been replaced with newer versions that use symspecs.
 
+@table @code
+
 @item -e @var{function_name}
 The @samp{-e @var{function}} option tells @code{gprof} to not print
 information about the function @var{function_name} (and its
@@ -1613,10 +1614,14 @@ only a small amount of time, so that on the average the sampling process
 ought to catch that function in the act only once, there is a pretty good
 chance it will actually find that function zero times, or twice.
 
-By contrast, the number-of-calls and basic-block figures
-are derived by counting, not
-sampling.  They are completely accurate and will not vary from run to run
-if your program is deterministic.
+By contrast, the number-of-calls and basic-block figures are derived
+by counting, not sampling.  They are completely accurate and will not
+vary from run to run if your program is deterministic and single
+threaded.  In multi-threaded applications, or single threaded
+applications that link with multi-threaded libraries, the counts are
+only deterministic if the counting function is thread-safe.  (Note:
+beware that the mcount counting function in glibc is @emph{not}
+thread-safe).  @xref{Implementation, ,Implementation of Profiling}.
 
 The @dfn{sampling period} that is printed at the beginning of the flat
 profile says how often samples are taken.  The rule of thumb is that a