Commit Graph

32 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
Ian Lance Taylor 31af2d7e05 * gprof.c (main): Cast getenv return value. 1995-11-08 16:40:24 +00:00
Ken Raeburn 03c35bcb6e * __bb_exit_func.c: New file, from David Mosberger-Tang.
Thu Feb  9 16:56:07 1995  David Mosberger-Tang  <davidm@piston.cs.arizona.edu>

* All *.c: More cleanup towards GNU format.

* gmon_out.h (struct gmon_hist_hdr, struct gmon_cg_arc_record): replaced sizeof
(bfd_vma) by size (char*) because Ken tells me that bfd_vma is only guaranteed
to be at least as big as a pointer.

(GMON_Record_tag): added explicit enumeration values to ensure compatibility
across compilers.

* gmon_io.c (get_vma, put_vma): replaced sizeof(bfd_vma) by sizeof(char*).
1995-03-14 02:58:16 +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
Ian Lance Taylor f43a7782d0 * gprof.c (funcsymbol): Ignore ___gnu_compiled as well as
__gnu_compiled, for the benefit of systems which add a leading
	underscore.
1994-08-30 15:15:09 +00:00
Ken Raeburn fbcbb8c4d4 ns532 support from Ian Dall 1994-07-13 23:21:45 +00:00
Ken Raeburn c06e55d99a changes from gas-2.3/binutils-2.4 dist (details in branch log msgs, changelogs) 1994-05-27 16:58:05 +00:00
Ian Lance Taylor bd7fc39d75 * gprof.c (getsymtab): Change nosyms to long. Rename
get_symtab_upper_bound to bfd_get_symtab_upper_bound.  Check for
	errors from bfd_get_symtab_upper_bound and
	bfd_canonicalize_symtab.
1994-03-30 22:06:39 +00:00
Jeff Law 4b8250bda2 * gprof.c (funcsymbol): Use bfd_get_symbol_info instead of
bfd_decode_symclass.
1994-03-22 18:51:41 +00:00
David D. Zuhn fc3a75fb2b update rev to 5.6(Cygnus) 1993-12-16 04:24:16 +00:00
David D. Zuhn b4f476e939 add -v flag to gprof (print version number) 1993-12-16 04:14:45 +00:00
Sean Eric Fagan 2ea5f3252a Use BFD to determine what a symbol prefix is, be better about determining
which symbols to study, and divide by the correct amount.
1993-08-13 21:38:41 +00:00
David MacKenzie 7ce122a201 * gprof.c (main): Get whoami from argv, instead of hardcoding.
Use it in usage message.  Split usage message to fit in 80 cols.
1993-06-24 21:44:34 +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
Sean Eric Fagan 6699a5555d gprof(1) can have more than one profile data file, so have the usage
message reflect that.
1993-04-14 00:04:18 +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 33023c9c9c * gprof.c (funcsymbol): Invert test for aflag. 1993-02-28 02:18:40 +00:00
Sean Eric Fagan 804c13bdb1 Add a usage statement if an unrecognized option is given. 1993-01-24 19:07:11 +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
Mark Eichin a7a2ea6874 correct use of bfd symbols 1992-08-27 21:19:27 +00:00
John Gilmore 028fe6367a Lint 1992-07-13 11:59:22 +00:00
John Gilmore 9388476b43 * blurbs.c: New file, created from gprof.flat and gprof.callg by
* make-c-prog.awk:  which processes text files into C programs.
	* printgprof.c (flatprofheader, gprofheader):  Call new functions
	to print blurbs.
	(printblurb):  Remove.
	* Makefile.in:  Infrastructure to build blurbs.
	* pathnames.h:  has been removed.  Gprof now has no filename
	dependencies in it.
	* gprof.c:  Lint.

Sat Jul 11 18:07:21 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)

	* Makefile.in: define man1dir and install the man page

Fri Jul 10 21:14:08 1992  david d `zoo' zuhn (zoo@cygnus.com)

	* Makefile.in: added dummy info and install-info targets
1992-07-13 02:24:24 +00:00
Mark Eichin a0d48c83a3 restore some old code to punt symbols which are BSF_LOCAL (needed for Solaris,
should be correct for anything else.)
1992-07-01 22:52:47 +00:00
Mark Eichin ba79f5fa08 Thu Jun 4 11:34:02 1992 Mark Eichin (eichin at cygnus.com)
* lookup.c: fixed fencepost in nllookup and added dbg_nllookup for
	help in debugging the problem (with -DDEBUG)
	* gprof.c: symbol values are now real values, don't add the vma
	anymore. (done for solaris; should verify this on other platforms)
	* ChangeLog: created.
1992-06-04 18:36:56 +00:00
Sean Eric Fagan 46f88c1138 More cleanups for gprof, especially with the '386 target. 1992-03-27 22:11:14 +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 a11d7ba33e Updating gprof for latest bfd stuff, and making configure work. 1992-02-11 23:15:03 +00:00
Sean Eric Fagan 5f630bb0e2 Put in a check to make sure symbols have names; if there is no name, then
the symbol is not a function (I assume).
1991-07-22 20:35:30 +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