Commit graph

14 commits

Author SHA1 Message Date
Jeff Law
64c50fc5db * gprof.c (long_options): Add "--function-ordering" and
"--file-ordering" options.
	(usage): Add new options to usage message.
	(main): Handle new options.
	* gprof.h (STYLE_FUNCTION_ORDER): Define.
	(STYLE_FILE_ORDER): Define.
	(function_mapping_file): Declare.
	* cg_arcs.c (arcs, numarcs): New globals.
	(arc_add): Put new arcs into the arc array so the function/file
	ordering code can examine them.
	* cg_arcs.h (struct arc): New field "has_been_placed".
	(arcs, numarcs): Declare new globals.
	* core.c (symbol_map, symbol_map_count): New globals.
	(read_function_mappings): New function to read in a function
	to object map file.
	(core_init): Call read_function_mappings if a function mapping
	file exists.
	(core_create_function_syms): Handle function to object file
	mappings.
	* symtab.h (struct sym): New fields "mapped", "has_been_placed",
	"nuses", "prev".
	* cg_print.c (cmp_arc_count): New function for sorting arcs.
	(cmp_fun_nuses): Likewise for functions.
	(cg_print_function_ordering): New function to print a suggested
	function ordering.
	(cg_print_file_ordering): Likewise for ordering .o files.
	(order_and_dump_functions_by_arcs): Helper function for function
	and object file ordering code.
Gprof changes for mentor vm work.
1995-12-31 06:36:30 +00:00
Jeff Law
32843f948c * core.c (core_sym_class): Ignore symbols without BSF_FUNCTION
set if ignore_non_function is set.
        * gprof.h (ignore_non_functions): Declare.
        * gprof.c (ignore_non_functions): Define.
        (long_options): Add "ignore-non-functions".
        (usage): Add new options.
        (main): Recognize "-D" and "--ignore-non-functions" option.
So we can get more accurate information on Solaris, HPUX and other
systems that can uniquely identify function symbols.
1995-12-25 04:32:29 +00:00
Ken Raeburn
12516a373c ran "indent -gnu"; have not fixed block comment style 1995-02-08 02:35:44 +00:00
Ken Raeburn
5489fcc3d9 Lots of changes from David Mosberger-Tang; see ChangeLog and NOTES for details:
Alpha support.
Long options.
New file format to support more information; backwards compatibility.
Line-level profiling, on systems where bfd_find_nearest_line works.
Selective display of data.
1995-02-07 22:34:18 +00:00
Jeff Law
54a17c91d0 * gprof.h (kfromlist, ktolist, flist, Flist, elist, Elist): Make
decls extern to keep native HP compiler quiet.
1994-09-01 16:53:19 +00:00
Ken Raeburn
d20d64bb53 (TRUE, FALSE): Always use undef before defining them. 1994-05-05 23:24:57 +00:00
Steve Chamberlain
73fbbeead4 * gmon.h, gprof.h: structs of chars used to hold external
representations.
	* gprof.c (getpfile, openpfile, readsamples): Swap data in using
	new structures.
1993-06-16 19:58:37 +00:00
Ian Lance Taylor
7508b715df * gprof.h: Undefine hz. 1993-04-26 19:59:24 +00:00
Ian Lance Taylor
8739c727bd * gprof.h: Include ansidecl.h before sysdep.h. 1993-04-26 19:38:30 +00:00
Per Bothner
9d65137307 * M Makefile.in: Add -g to CFLAGS.
Ads LDFLAGS and use in place of CFLAGS where appropriate.
	* configure.in:  Make a sysdep.hlink in the same way other
	bfd-based directories do.
	* gprof.h (UNIT):  Replace non-standard 'u_short' by 'unsigned
	short'.
	* gprof.h:  #include sysdep.h instead of a bunch of stuff.
	* gprof.c (main):  Fix typo gproff->gprof.
1993-04-13 23:20:14 +00:00
Per Bothner
dc1d1ca5e8 * 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.
1992-08-31 03:34:15 +00:00
Sean Eric Fagan
77c9b2c3e2 Fixed bugs (both typos and algorithmic) bugs. It now matches native gprof's
on both the sparc (SunOS) and Mach386 systems, more or less.  (The differences
are at least partially due to what I think might be bugs in the native
gprof.)
1992-03-06 11:56:31 +00:00
Sean Eric Fagan
811e3c6a86 Made gprof use bfd instead. This is the first step in allowing cross-hosted
gprof use.
1991-07-22 19:33:46 +00:00
Sean Eric Fagan
3d6c650189 Initial revision 1991-07-18 20:19:17 +00:00