Commit graph

18 commits

Author SHA1 Message Date
Tom Tromey
16a02269fc * gprof.h: Added includes and defines for gettext.
* configure.in (ALL_LINGUAS): New macro.
	Call CY_GNU_GETTEXT.  Create po/Makefile.in and po/Makefile.
	* acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
	HAVE_LC_MESSAGES): Define.
	* gprof.c (main): Call setlocale, bindtextdomain, textdomain.
	* Makefile.am (SUBDIRS): New macro.
	(INCLUDES): Look in intl dirs for headers.  Define LOCALEDIR.
	(gprof_DEPENDENCIES): Added INTLDEPS.
	(gprof_LDADD): Added INTLLLIBS.
	(POTFILES): New macro.
	(po/POTFILES.in): New target.
	* Many files: Wrap user-visible strings with gettext invocation.
1998-04-22 07:33:42 +00:00
Ian Lance Taylor
e4dee78c68 Add --demangle and --no-demangle options:
* gprof.h (demangle): Declare.
	* gprof.c (demangle): New global variable.
	(OPTION_DEMANGLE, OPTION_NO_DEMANGLE): Define.
	(long_options): Add "demangle" and "no-demangle".
	(usage): Mention --demangle and --no-demangle.
	(main): Handle OPTION_DEMANGLE and OPTION_NO_DEMANGLE.
	* utils.c (print_name_only): Only demangle symbol name if demangle
	is true.
	* gprof.texi (Output Options): Document new options.
1998-03-25 00:06:23 +00:00
Ian Lance Taylor
c3de2a19e8 Tue Feb 3 14:25:25 1998 Brent Baccala <baccala@freesoft.org>
Make it possible to build a cross gprof, although a few cases are
	still not handled:
	* configure.in: Don't set MY_TARGET.
	* gprof.h: Don't include MACHINE_H.  Don't define FOPEN_RB or
	FOPEN_WB; just get them from sysdep.h.
	* core.h (min_insn_size, offset_to_code): Declare.
	* core.c (MIN_INSN_SIZE): Don't define.
	(min_insn_size, offset_to_code): New variables.
	(core_init): Initialize min_insn_size and offset_to_code.
	(find_call): New function.
	(core_create_line_syms): Don't use min_dist.  Set is_static in
	pass 2.
	* hist.c (UNITS_TO_CODE): Define.
	* gprof.c (default_excluded_list): Add "__mcount_internal".
	* gmon.h: Change TARGET_alpha to __alpha__.
	* hertz.h: Ifdef MACH, define hertz as HZ.
	* alpha.c (alpha_Instruction): Rename from Instruction.  Change
	all references.
	(alpha_find_call): Rename from find_call.
	* alpha.h: Remove.
	* dummy.c, dummy.h: Remove.
	* i386.c (i386_iscall): Rename from iscall.  Change all
	references.  Check for call instruction, not jump or lcall.
	(i386_find_call): Rename from find_call.  Correct for VMA.
	Correct call destination computation.  Don't dereference symbol if
	it is NULL.
	* i386.h: Remove.
	* ns532.c, ns532.h: Remove.
	* sparc.c (CALL): Define.
	(sparc_find_call): Rename from find_call.
	* sparc.h: Remove.
	* tahoe.c: Include cg_arcs.h, core.h, hist.h, and symtab.h.  Don't
	include time_host.h.
	(CALLF, PC): Define.
	(enum tahoe_opermodes, tahoe_operandenum): Define.  Rename all
	references to opermodes or operandenum to these.
	(tahoe_operandmode): Rename from operandmode.  Call abort if
	switch does not return.
	(tahoe_operandname): Rename from operandname.  Call abort if
	switch does not return.
	(tahoe_operandlength): Rename from operandlength.  Call abort if
	switch does not return.
	(tahoe_reladdr): Rename from reladdr.
	(tahoe_find_call): Rename from find_call.  Use core_text_space
	rather than textspace.
	* tahoe.h: Remove.
	* vax.c (CALLS, PC): Define.
	(enum opermodes, operandenum, struct modebyte): Define.
	(vax_operandmode): Rename from operandmode.  Call abort if switch
	does not return.
	(vax_operandname): Rename from operandname.  Call abort if switch
	does not return.
	(vax_operandlength): Rename from operandlength.  Call abort if
	switch does not return.
	(vax_reladdr): Rename from reladdr.
	(vax_find_call): Rename from find_call.
	* vax.h: Remove.
	* Makefile.am (AUTOMAKE_OPTIONS): Set to cygnus.
	(MY_TARGET): Remove.
	(INCLUDES): Remove -DTARGET_$(MY_TARGET) and -DMACHINE_H=
	\"$(MY_TARGET).h\".
	(gprof_SOURCES): Add i386.c, alpha.c, vax.c, tahoe.c, sparc.c.
	(gprof_DEPENDENCIES): Remove $(MY_TARGET).o.
	(gprof_LDADD): Likewise.
	(noinst_HEADERS): Remove alpha.h, i386.h, ns532.h, sparc.h,
	tahoe.h, vax.h, dummy.h.
	(EXTRA_DIST): Remove alpha.c, i386.c, ns532.c, sparc.c, tahoe.c,
	vax.c, dummy.c.
	($(OBJECTS)): Don't depend upon $(MY_TARGET).h.
	($(MY_TARGET).o): Remove target.
	(i386.o, alpha.o, vax.o, tahoe.o, sparc.o): New targets.
	* configure, Makefile.in, aclocal.m4: Rebuild.
1998-02-03 19:52:41 +00:00
Ian Lance Taylor
274e44aeeb * configure.in: Change version number to 2.8.2. Call
AM_PROG_LIBTOOL.  Remove shared library handling; now handled by
	libtool.  Add AM_CONFIG_HEADER.  Change AC_PROG_INSTALL to
	AM_PROG_INSTALL.  Add AM_EXEEXT.
	* Makefile.am (LINK): Remove.
	(gprof_LDFLAGS): Remove
	(gprof_DEPENDENCIES): Change libbfd.a to libbfd.la.
	(gprof_LDADD): Likewise.
	($(OBJECTS)): Depend upon gconfig.h and ../bfd/config.h.
	* gprof.h: Undefine PACKAGE and VERSION after including BFD
	sysdep.h file, then include new gconfig.h file.
	* gprof.c (VERSION): Don't define.
	* acconfig.h: New file.
	* stamp-h.in: New file.
	* gconfig.in: New file, created by autoheader.
	* Makefile.in, configure, aclocal.m4: Rebuild.
1997-08-09 20:30:19 +00:00
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