summaryrefslogtreecommitdiff
path: root/gprof
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2010-06-08 10:38:48 +0000
committerNick Clifton <nickc@redhat.com>2010-06-08 10:38:48 +0000
commiteed6207e580df79980bc771f10ac41a2b37cac53 (patch)
tree7dd1cf5b7ff3c9a881ba04cc4b6d83ff8987f6ee /gprof
parentabcdf4b9ab79281148a48281778c4b9a82c34eba (diff)
downloadbinutils-redhat-eed6207e580df79980bc771f10ac41a2b37cac53.tar.gz
* gprof.texi (Sampling Error): Note that call counts and basic
block counts are only reliable for multi-threaded applications if the counting function itself is thread safe.
Diffstat (limited to 'gprof')
-rw-r--r--gprof/ChangeLog6
-rw-r--r--gprof/gprof.texi12
2 files changed, 14 insertions, 4 deletions
diff --git a/gprof/ChangeLog b/gprof/ChangeLog
index 22a43f7dcc..4370951fa8 100644
--- a/gprof/ChangeLog
+++ b/gprof/ChangeLog
@@ -1,5 +1,11 @@
2010-06-08 Nick Clifton <nickc@redhat.com>
+ * gprof.texi (Sampling Error): Note that call counts and basic
+ block counts are only reliable for multi-threaded applications if
+ the counting function itself is thread safe.
+
+2010-06-08 Nick Clifton <nickc@redhat.com>
+
* gprof.texi: Replace abbreviated 20th century year numbers with
full versions.
diff --git a/gprof/gprof.texi b/gprof/gprof.texi
index 03074d8259..70c4f88dd7 100644
--- a/gprof/gprof.texi
+++ b/gprof/gprof.texi
@@ -1615,10 +1615,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