Commit Graph

27 Commits

Author SHA1 Message Date
sheldonh
d39e57413d Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.
2000-03-01 12:20:22 +00:00
peter
e4b04a2b21 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
simokawa
958df319db Enable gprof on alpha.
* alpha.{c,h} are same as i386.{c,h}.
* Force address calculation to be done in long precision(64bit on alpha)
  rather than double precision(52bit).
1999-07-16 07:22:10 +00:00
nik
7e91e73b9f Add $Id$, to make it simpler for members of the translation teams to
track.

The $Id$ line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

     .\"    $Id$
     .\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by:            bde
1999-07-12 20:24:20 +00:00
dt
bbe964616b Don't ignore weak symbols.
EGCS assign weak symbols to inline functions it couldn't inline (e.g. virtual
inline functions), template functions, etc. Omitting them result in quite bogus
profile.

Weak symbols created by __weak_reference are not really problem.

Caught by:	Ilya Segalovich <iseg@comptek.ru>
1999-07-03 12:30:04 +00:00
jmz
e3a401804e Construct the profile file name from the name of the executable. A program
compiled with -pg and run will generate a file <executable-filename>.gmon,
not gmon.out.

PR:		bin/8426
1999-05-23 00:37:56 +00:00
jdp
543681e630 Make profiling work for ELF. gprof now autodetects the format of
the executable file, so it will work for both a.out and ELF format
files.  I have split the object format specific code into separate
source files.  It's cleaner than it was before, but it's still
pretty crufty.

Don't cheat on your make world for this update.  A lot of things
have to be rebuilt for it to work, including the compiler and all
of the profiled libraries.
1998-09-07 23:32:00 +00:00
jb
5ff3ca9abc Change MACHINE to MACHINE_ARCH to support MACHINE=pc98. 1998-09-05 08:22:30 +00:00
jdp
19c95c58ef Don't ignore symbols containing "$". C++ destructors and other
special functions have names containing dollar signs, and ignoring
them causes gprof to produce incorrect and sometimes bizarre results.
The comment in the original code said that dollar signs were excluded
because they are used in Pascal labels.  That's not much of an
issue these days.
1998-08-08 17:48:26 +00:00
charnier
7dd7b66b57 Revert to original style. 1997-07-15 08:04:40 +00:00
bde
a698d7ae42 32-bit counters aren't large enough for 100+MHz clocks. Use 64-bit
counters.  `4' in GPROF4 and gprof4 now means 8.  gprof4 needs to be
recompiled to match the kernel.
1997-07-13 16:38:39 +00:00
charnier
07a596a3e0 Fix typo I introduced during last commit. 1997-07-11 06:11:35 +00:00
charnier
91c47e87e8 Use err(3). 1997-07-10 06:45:02 +00:00
wosch
ab0d7e7c60 Sort cross references. 1997-01-15 23:25:55 +00:00
bde
e0bfa48bfc Use a (signed) int32_t counter instead of an `unsigned int' counter
for the GPROF4 case.  This allows a simpler method to be used for
non-statistical profiling (it allows overhead adjustments to be
subtracted from one counter without harm if that counter goes
negative; otherwise the adjustment would have to be distributed).

32 bit counters were already too small for GPROF4 with a 200MHz
clock.  int64_t counters should be used.
1996-10-16 21:02:49 +00:00
bde
9a23d53a1f Print times/call in ns if hz >= 10e7. hz will be this large for high
resolution profiling on Pentiums.  On a 100MHz Pentium, the resolution
is at best 10 ns and actually a few hundred ns, but units of 10's or
100's of ns would be inconvenient and the current units of 1 us are a
bit too coarse.
1996-06-08 12:29:57 +00:00
mpp
99996af085 Correct some man page cross references and file location references. 1996-04-07 00:06:21 +00:00
joerg
287ad13145 Xref clocks(7). 1996-04-05 08:53:38 +00:00
mpp
37272cd2d1 Another round of man page cleanups.
Down to only about 100 items left to cleanup! :-)
1996-02-12 04:57:03 +00:00
bde
726f454e85 Implemented non-statistical kernel profiling. This is based on
looking at a high resolution clock for each of the following events:
function call, function return, interrupt entry, interrupt exit,
and interesting branches.  The differences between the times of
these events are added at appropriate places in a ordinary histogram
(as if very fast statistical profiling sampled the pc at those
places) so that ordinary gprof can be used to analyze the times.

gmon.h:
Histogram counters need to be 4 bytes for microsecond resolutions.
They will need to be larger for the 586 clock.
The comments were vax-centric and wrong even on vaxes.  Does anyone
disagree?

gprof4.c:
The standard gprof should support counters of all integral sizes
and the size of the counter should be in the gmon header.  This
hack will do until then.  (Use gprof4 -u to examine the results
of non-statistical profiling.)

config/*:
Non-statistical profiling is configured with `config -pp'.
`config -p' still gives ordinary profiling.

kgmon/*:
Non-statistical profiling is enabled with `kgmon -B'.  `kgmon -b'
still enables ordinary profiling (and distables non-statistical
profiling) if non-statistical profiling is configured.
1995-12-29 15:46:59 +00:00
bde
8a5789682c Change install' to ${INSTALL}' so that default install flags can be
specified in the top level Makefiles.
1995-07-25 00:37:58 +00:00
rgrimes
79e59e9123 Remove trailing whitespace. 1995-05-30 06:41:30 +00:00
wollman
ce1834141c Added much-needed new options -[lL], to suppress printing of either the
call-graph or the flat profile, since often you only want one of them.
1994-12-22 20:52:15 +00:00
bde
938c1c06b3 New flag -u to suppress functions whose name does not begin with an
underscore.  Use it to avoid seeing badsw when profiling the kernel.

Print times more accurately (e.g. usec in %8.0f format instead of
msec in %8.2f format for averages) if hz >= 10000.  This should have
no effect now since profhz is only 1024.
1994-09-05 16:14:54 +00:00
rgrimes
e542b10be0 This commit was generated by cvs2svn to compensate for changes in r1590,
which included commits to RCS files with non-trunk default branches.
1994-05-27 12:33:43 +00:00
rgrimes
b65ae149ea BSD 4.4 Lite Usr.bin Sources 1994-05-27 12:33:43 +00:00
rgrimes
f9ab90d9d6 BSD 4.4 Lite Usr.bin Sources 1994-05-27 12:33:43 +00:00