History log of /freebsd-10.3-release/usr.bin/gprof/gprof.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 296373 04-Mar-2016 marius

- Copy stable/10@296371 to releng/10.3 in preparation for 10.3-RC1
builds.
- Update newvers.sh to reflect RC1.
- Update __FreeBSD_version to reflect 10.3.
- Update default pkg(8) configuration to use the quarterly branch.

Approved by: re (implicit)

# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 246783 14-Feb-2013 charnier

rework old-style functions prototypes
reduce WARNS=6 output


# 216370 11-Dec-2010 joel

Remove the advertising clause from UCB copyrighted files in usr.bin. This
is in accordance with the information provided at
ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change

Also add $FreeBSD$ to a few files to keep svn happy.

Discussed with: imp, rwatson


# 187116 12-Jan-2009 obrien

If running with "-K" really do not information about symbols from the a.out
argument. Before this fix, after searching the currently-running kernel,
we would still search the a.out argument - completely override the in-kernel
list, essentially defeating the K flag's purpose.

PR: 47387
Submitted by: Ryan Beasley <ryanb@goddamnbastard.org>


# 131990 11-Jul-2004 stefanf

Fix a few cases that relied on 'implicit int' (constraint violation in C99).


# 130776 20-Jun-2004 stefanf

Retire support for gprof's -c option. All our currently supported
architectures only provide a dummy implementation.

Silence on: current@


# 129657 24-May-2004 stefanf

Include <string.h> for prototypes of various string functions.

Approved by: das (mentor)


# 121735 30-Oct-2003 tjr

Remove MD bits for unsupported architectures.


# 105243 16-Oct-2002 charnier

Remove done() which was just exit() so use of warn()/err() can be made. Abort
on allocation failure instead of displaying a warning and deferencing NULL
pointer after. Spelling. Add prototypes. Add list of option in synopsis section
of man page, -d is not referenced because available as a compile option. It
should be made a runtime option btw.


# 99112 30-Jun-2002 obrien

Consistently use FBSDID


# 97631 30-May-2002 wollman

Fix preprocessor directive syntax (text after #endif).
The style of this program is still atrocious (not fixed).


# 93123 25-Mar-2002 mike

Include <stdint.h> for definition of intmax_t and/or uintmax_t.


# 91738 06-Mar-2002 bde

Support runtime specification of the history counter type by whatever
generated the gmon data. The support is currently limited to what is
easy to implement and/or needed:

signedess: signed or insigned
size: 8, 16, 32 or 64 bits
format: a binary integer in gprof's format (gprof is not a cross-tool).

High-resolution kernel profiling uses signed 64-bit counters. Normal
kernel profiling and user profiling use unsigned 16-bit counters but
should use 32-bit ones.


# 91735 06-Mar-2002 bde

Fixed some misspellings of 2 as sizeof(UNIT) so that they won't break
things when sizeof(UNIT) becomes a runtime parameter. The relevant 2
is the one in profil(2)'s scaling of pc's to bucket numbers:

bucket = (pc - offset) / 2 * profil_scale / 65536

gprof(1) must duplicate this scaling, bug for bug compatibly, so it
must first do an integer division by 2 although this mainly makes
scales larger than 65536 useless. sizeof(UNIT) was already wrong in
gprof4, but there were no problems because the fake profil scale is a
multiple of 2.

There are also some rounding bugs in the scaling, but these are only
problems if profil(2) is used directly to create unusual (and not
useful) scales.


# 91018 21-Feb-2002 bde

Fixed printf format errors. In printgprof.c, also convert the scale
without possibly losing lots of precision, and print the scale using
%g instead of %d in case it is non-integral. %g might not be the best
format for this.


# 91010 21-Feb-2002 bde

Moved the definition of the machine-independent macro UNITS_TO_CODE
from <number of machines> machine-dependent headers to the one
non-header here it is used so that it is easier to fix. This macro
just divides the machine-dependent offset OFFSET_OF_CODE by the
machine-independent scale factor sizeof(UNIT), as required for bug
for bug compatibility with the scaling of pc's in gprof.c. UNIT is
the type of a profiling counter, and its size has nothing to do with
the correct scale factor except both are usually 2.


# 85739 30-Oct-2001 green

Add -K support to gprof(1), which enables dynamic symbol resolution from
the currently-running kernel (and supercedes an executable file argument
given). With this change, properly-compiled KLD modules are now
able to be profiled.

Obtained from: NAI Labs CBOSS project
Funded by: DARPA


# 50477 28-Aug-1999 peter

$Id$ -> $FreeBSD$


# 48839 16-Jul-1999 simokawa

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).


# 47420 23-May-1999 jmz

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


# 38928 07-Sep-1998 jdp

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.


# 38194 08-Aug-1998 jdp

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.


# 27414 15-Jul-1997 charnier

Revert to original style.


# 27313 10-Jul-1997 charnier

Use err(3).


# 8874 30-May-1995 rgrimes

Remove trailing whitespace.


# 5190 22-Dec-1994 wollman

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.


# 2513 05-Sep-1994 bde

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.


# 1591 27-May-1994 rgrimes

This commit was generated by cvs2svn to compensate for changes in r1590,
which included commits to RCS files with non-trunk default branches.


# 1590 27-May-1994 rgrimes

BSD 4.4 Lite Usr.bin Sources