Commit graph

116 commits

Author SHA1 Message Date
Ian Lance Taylor
641146fe3f * configure, aclocal.m4: Rebuild with new libtool. 1998-02-07 20:43:38 +00:00
Ian Lance Taylor
5587a091de * alpha.c (alpha_Instruction): Use int, not signed. 1998-02-06 17:04:19 +00:00
Jeff Law
ed302e5ddf * core.c (core_init): Adding missing "break". 1998-02-06 08:58:31 +00:00
Ian Lance Taylor
fa1a1b3235 * configure, Makefile.in, aclocal.m4: Rebuild with new libtool. 1998-02-05 17:50:44 +00:00
Ian Lance Taylor
249da91694 Tue Feb 3 14:25:25 1998 Brent Baccala <baccala@freesoft.org>
* bbconv.pl: New file.
	* Makefile.am (EXTRA_DIST): Add bbconv.pl.
	* Makefile.in: Rebuild.
1998-02-04 00:45:10 +00:00
Ian Lance Taylor
e2fd423145 Tue Feb 3 14:25:25 1998 Brent Baccala <baccala@freesoft.org>
* gprof.texi: Extensive additions to document all arguments and
	output formats.
1998-02-04 00:41:51 +00:00
Ian Lance Taylor
7862d7d065 Tue Feb 3 14:25:25 1998 Brent Baccala <baccala@freesoft.org>
* symtab.c (symtab_finalize): Prefer function symbols over line
	symbols.
	(dbg_sym_lookup): Correct debugging messages.

	* gprof.c (main): --sum implies --line.

	* cg_print.c (cg_print): When doing line by line profiling, don't
	use a non-function as a main listing item.

	* call_graph.c (cg_tally): When using line by line profiling, use
 	the function symbol as the child.

	* symtab.h (NBBS): Define.
	(Sym): Add bb_addr and bb_calls fields.
	* basic_blocks.c (bb_read_rec): Save multiple basic blocks per
	symbol.
	(bb_write_blocks): Adjust for multiple basic blocks per symbol.
	(print_exec_counts): Don't check whether a symbol is the start of
	a basic block.  Print all basic blocks for a symbol.
	(annotate_with_count): Rewrite to print all basic block counts and
	to pay attention to width argument.
	(print_annotated_source): Don't check whether symbol is the start
	of a basic block.
1998-02-04 00:30:48 +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
a3da1edc5e * core.c (core_sym_class): Treat weak symbols as text symbols.
From Dean Gaudet <dgaudet@arctic.org>.
1997-12-29 11:20:37 +00:00
Ian Lance Taylor
42a6231749 * aclocal.m4: Rebuild with new libtool.
* Makefile.in: Rebuild with current automake.
	* configure: Rebuild.
1997-09-24 15:37:13 +00:00
Felix Lee
3e906c081a sanitization fixes. typoes, missing fences, "start" instead of "end", etc. 1997-09-18 06:03:52 +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
Ian Lance Taylor
50fb79778f * aclocal.m4, configure, Makefile.in: Rebuild with automake 1.2. 1997-06-29 03:21:56 +00:00
Ian Lance Taylor
3b66bca3ba * Makefile.am (INCLUDES): Add -DDEBUG.
* Makefile.in: Rebuild.
1997-06-16 19:32:15 +00:00
Ian Lance Taylor
2f1fec47ae Change to use automake:
* Makefile.am: New file.
	* configure.in: Run AM_INIT_AUTOMAKE, AM_MAINTAINER_MODE, and
	AM_CYGWIN32.
	* aclocal.m4: New file, created by aclocal.
	* Makefile.in: Replace with file created by automake --cygnus.
	* configure: Rebuild.
1997-04-15 18:35:39 +00:00
Ian Lance Taylor
4910935152 * gprof.c (VERSION): Define as "2.8.1". 1997-04-03 18:21:59 +00:00
Ian Lance Taylor
d2ee1370c2 * gprof.c (main): Correct copyright message. 1997-03-27 22:18:17 +00:00
Ian Lance Taylor
9537b1d020 * Makefile.in (.c.o): Define TARGET_$(MY_TARGET) when compiling.
* gmon.h: Use bytes counts rather than sizeof in struct raw_phdr
 	and struct raw_arc.
1997-03-24 16:13:38 +00:00
Ian Lance Taylor
7dc37d80ff Mon Mar 17 10:54:47 1997 David Mosberger-Tang <davidm@azstarnet.com>
* cg_arcs.c (arc_add): memset() newly alloced arc to ensure
	all fields are initialized with 0.
1997-03-17 15:55:41 +00:00
Ian Lance Taylor
1eb9fa9eba Sat Mar 15 19:17:31 1997 H.J. Lu <hjl@lucon.org>
* symtab.h (find_call): Declare.
	* cg_arcs.c (cg_assemble): Don't declare find_call.
	* hist.c (scale_and_align_entries): Declare.
1997-03-16 00:18:26 +00:00
Ian Lance Taylor
22395d7ed4 * configure.in: Define BSD44_FORMAT if the target looks like a
BSD4.4 derived system.
	* configure: Rebuild.
	* Makefile.in (.c.o): Add @DEFS@.
	* gmon_io.c (gmon_out_read): In BSD44_FORMAT code, get profrate
	from profrate field, not version field.
1997-02-27 17:49:00 +00:00
Ian Lance Taylor
9edcbc03f8 * dummy.c (find_call): Clear ignore_direct_calls. 1997-01-16 22:42:59 +00:00
Ian Lance Taylor
b3902dd397 * Makefile.in (.c.o): Add -D_GNU_SOURCE. Put $(CFLAGS) at the
end.
	(gprof): Put $(CFLAGS) after the other options.
1996-12-31 20:44:46 +00:00
Ian Lance Taylor
4947b15f4c * configure: Rebuild with autoconf 2.12. 1996-11-26 22:09:02 +00:00
Ian Lance Taylor
1259da3e77 * sparc.c (find_call): Align p_lowpc to avoid bus error. 1996-10-02 19:23:38 +00:00
Ian Lance Taylor
50622dea73 * gprof.c (usage): Print bug report address.
(main): Change version printing to match current GNU standards.
1996-10-01 19:58:36 +00:00
Ian Lance Taylor
76a61985c1 * gmon.h: Replace #elif with #else/#endif. 1996-08-30 16:19:15 +00:00
Michael Meissner
3d5aa9924a Recognize i686-*-* for pentium pro 1996-08-29 21:28:01 +00:00
Ian Lance Taylor
cb26c22ded * configure.in: Set and substitute HLDENV.
* configure: Rebuild.
	* Makefile.in (HLDENV): New variable.
	(gprof): Use $(HLDENV).
1996-08-23 00:13:54 +00:00
Ian Lance Taylor
1c34a10879 Wed Aug 7 14:43:51 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
* core.c (read_function_mappings): Cast xmalloc return.
1996-08-07 18:44:27 +00:00
Ian Lance Taylor
4cdbf68f7d * gprof.c (VERSION): Define as "2.7.1". 1996-07-04 19:39:24 +00:00
Ian Lance Taylor
13566744d9 * bb_exit_func.c: Rename from __bb_exit_func.c, so that it can be
stored on a System V file system.
1996-07-04 18:35:44 +00:00
Ian Lance Taylor
45c85bcb34 x 1996-07-04 16:03:09 +00:00
Ian Lance Taylor
e3c0e00bb1 * configure.in: Call AC_ISC_POSIX.
* configure: Rebuild.
	* Makefile.in (gprof): Pass $(CFLAGS) during link.
	* hertz.c: Don't include <sys/time.h>; let sysdep.h handle that.
	If HAVE_SETITIMER is not defined, try using sysconf.
1996-06-27 15:37:48 +00:00
Jason Molenda
39c3964f3a * Makefile.in (exec_prefix, bindir, libdir, mandir, infodir, datadir,
INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
        * configure.in (AC_PREREQ): autoconf 2.5 or higher.
        (AC_PROG_INSTALL): added.
        * configure: Rebuilt.
1996-06-25 13:11:45 +00:00
Ian Lance Taylor
8530ae8eed * configure.in: On alpha*-*-osf*, link against libbfd.a if not
using shared libraries.
	* configure: Rebuild with autoconf 2.10.
1996-06-24 16:04:19 +00:00
Ian Lance Taylor
d75ea6de3d * core.c (core_create_line_syms): Use xstrdup rather than strdup.
* source.c (source_file_lookup_path): Likewise.
1996-06-18 21:37:38 +00:00
Ian Lance Taylor
b4cb4ea2ac * configure.in: Permit --enable-shared to specify a list of
directories.
	* configure: Rebuild.
1996-04-08 18:45:08 +00:00
Ian Lance Taylor
df928c8f28 * core.c (core_create_function_syms): Move filename and func_name
inside ifdef where they are used.

	* core.c (core_sym_class): Parenthesize && within ||.
	* symtab.c (symtab_finalize): Correct parenthesization.

	* cg_print.h (cg_print_file_ordering): Declare.
	(cg_print_function_ordering): Declare.

	* __bb_exit_func.c (__bb_exit_func): Replace bcopy with memcpy.
	* cg_arcs.c (arc_add): Likewise.
	* cg_print.c (cg_print_function_ordering): Likewise.
1996-03-21 22:21:30 +00:00
Ian Lance Taylor
0f579087ab Thu Mar 21 17:02:02 1996 David Mosberger-Tang <davidm@azstarnet.com>
* gprof.c (default_excluded_list): Add "__mcount".

	* gprof.c (main): Change ifdef __osf__ to __alpha__.

	* gmon_io.c (gmon_out_read): If BSD44_FORMAT is defined, get the
	profiling rate from the header.

	* gmon.h (struct raw_phdr): Only include pad if both __alpha__ and
	__osf__ are defined.  Add new fields if BSD44_FORMAT is defined.

	* alpha.h (MIN_INSN_SIZE): Define.
	* core.c (MIN_INSN_SIZE): If not defined, define as 1.
	(core_sym_class): Ignore debugging symbols.
	(core_create_line_syms): Use MIN_INSN_SIZE when gathering line
	information.
1996-03-21 22:07:14 +00:00
Ian Lance Taylor
7a542ed991 Wed Mar 20 18:15:47 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* cg_print.c (cg_print_function_ordering): Fix __GNUC__ misspelled
	as __GNU_C__.
	(order_and_dump_functions_by_arcs): Likewise.
1996-03-20 23:16:35 +00:00
Ian Lance Taylor
ea2488ad2e * configure: Rebuild with autoconf 2.8. 1996-03-12 17:22:07 +00:00
Ian Lance Taylor
7925f4d4b9 * configure.in: Check for 'do not mix' from native linker before
trying to use -rpath.
	* configure: Rebuild.
1996-02-18 20:07:36 +00:00
Ian Lance Taylor
56f9773ffd * configure.in: Set HDLFLAGS for *-*-hpux with --enable-shared.
* configure: Rebuild.
1996-02-13 20:34:53 +00:00
Ian Lance Taylor
ba8e3a2e3f * configure.in: Don't set CC. Look for --enable-shared. Set
BFDLIB and HLDFLAGS and substitute them.
	* configure: Rebuild.
	* Makefile.in (LIBS): Use @BFDLIB@.
	(HLDFLAGS): New variable.
	(gprof): Use $(HLDFLAGS).
1996-02-07 19:08:04 +00:00
Ian Lance Taylor
04ed3b54e0 Support for building bfd and opcodes as shared libraries, based on
patches from Alan Modra <alan@spri.levels.unisa.edu.au>:
	* Makefile.in (LIBDEPS): New variable.
	(LIBS): Use -L../bfd -lbfd.
	(gprof): Depend upon $(LIBDEPS) rather than $(LIBS).
1996-02-05 21:35:22 +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
a4f589cc41 * Makefile.in (.m.c): Strip out directory name from function name. 1995-11-21 19:26:27 +00:00
Ken Raeburn
fcc14c4053 * hist.c (scale_and_align_entries): Don't use DEFUN_VOID. Do UNITS_TO_CODE
adjustment unconditionally; compiler can optimize away zero-offset case.  Refer
to scaled_addr, not aligned_addr.
1995-11-21 19:10:18 +00:00