Commit Graph

13 Commits

Author SHA1 Message Date
Jeff Law
ed302e5ddf * core.c (core_init): Adding missing "break". 1998-02-06 08:58:31 +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
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
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
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
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
Fred Fish
643f17d21f * core.c (get_src_info): Cast arg 7 of bfd_find_nearest_line
to proper type of "unsigned int *".
1995-07-20 22:13:40 +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