* gprof.h, gprof.c, printfgprof.c: Add support for two

output styles:  The default is similar to the old FSF gprof,
	while -T sets the variable bsd_style_output, which causes
	output matching Berkeley's gprof.  The biggest differences
	are that with the FSF style output, the flat profile comes
	before the call graph; numbers come before explanations;
	and there is less gratuitous white space.
	* gprof.h, gprof.c, printfgprof.c:  New discard_underscores
	variable causes discarding of initial underscores when
	printing symbol names.  It is set unless there is a "main"
	symbol (without an underscore).
	* printfgprof.c:  New function printnameonly(), called
	by printname().  It handles stripping of initial '_',
	as well as C++ name-demangling.
	* gprof.callg, gprof.flat, make-c-prog.awk:  Removed.
	It is just as convenient to edit blurbs.c directly.
	* Makefile.in:  Removed rule for making blurbs.c.
	* blurbs.c:  This is now a true source file (as opposed
	to being generated from gprof.callg and gprof.flat).
	Change style to use one long string literal, instead of
	one literal per output line.  Add FSF-style blurb for call graph.
This commit is contained in:
Per Bothner
1992-08-31 03:34:15 +00:00
parent 3402b1cff2
commit dc1d1ca5e8
7 changed files with 416 additions and 217 deletions

View File

@@ -68,6 +68,9 @@ char *gmonname;
#define GMONNAME "gmon.out"
#define GMONSUM "gmon.sum"
extern int bsd_style_output;
extern int discard_underscores;
/*
* a constructed arc,
* with pointers to the namelist entry of the parent and the child,
@@ -92,7 +95,7 @@ typedef struct arcstruct arctype;
* its address, the number of calls and compute its share of cpu time.
*/
struct nl {
char *name; /* the name */
CONST char *name; /* the name */
unsigned long value; /* the pc entry point */
unsigned long svalue; /* entry point aligned to histograms */
double time; /* ticks in this routine */
@@ -255,6 +258,7 @@ FILE *openpfile();
printprof();
readsamples();
*/
int printnameonly();
unsigned long reladdr();
/*
sortchildren();