Increase minor version number (to 2.10.91) to help tools detect the new
[external/binutils.git] / gprof / ChangeLog
1 2000-09-02  Nick Clifton  <nickc@redhat.com>
2
3         * configure.in: Increase version number to 2.10.91.
4         * configure: Regenerate.
5         * aclocal.m4: Regenerate.
6         * config.in: Regenerate.
7         
8 2000-08-31  Alexandre Oliva  <aoliva@redhat.com>
9
10         * acinclude.m4: Include libtool and gettext macros from the
11         top level.
12         * aclocal.m4, configure: Rebuilt.
13
14 2000-07-26  Nick Clifton  <nickc@cygnus.com>
15
16         * bb_exit_func.c: Assign copyright to FSF.  Note that David 
17         Mosberger-Tang <David.Mosberger@acm.org> continuted this code.
18
19 2000-07-24  Nick Clifton  <nickc@cygnus.com>
20
21         * basic_blocks.c: Add copyright notice.
22         * basic_blocks.h: Add copyright notice.
23         * call_graph.c: Add copyright notice.
24         * call_graph.h: Add copyright notice.
25         * cg_print.c: Add copyright notice.
26         * cg_print.h: Add copyright notice.
27         * corefile.c: Add copyright notice.
28         * corefile.h: Add copyright notice.
29         * gmon_io.c: Add copyright notice.
30         * gmon_io.h: Add copyright notice.
31         * gmon_out.h: Add copyright notice.
32         * hist.c: Add copyright notice.
33         * hist.h: Add copyright notice.
34         * search_list.c: Add copyright notice.
35         * search_list.h: Add copyright notice.
36         * source.c: Add copyright notice.
37         * source.h: Add copyright notice.
38         * sym_ids.c: Add copyright notice.
39         * sym_ids.h: Add copyright notice.
40         * symtab.c: Add copyright notice.
41         * symtab.h: Add copyright notice.
42
43 2000-07-05  Kenneth Block  <krblock@computer.org>
44
45         * gprof/gprof.c: Add optional style to demangle switch
46         * gprof/gprof.texi: Document optional style to demangle switch.
47
48 2000-06-05  DJ Delorie  <dj@redhat.com>
49
50         * MAINTAINERS: new
51
52 2000-07-01  Alan Modra  <alan@linuxcare.com.au>
53
54         * Makefile.am (DEP): Fix 2000-06-22.  grep after running dep.sed
55         (CLEANFILES): Add DEPA.
56         * Makefile.in: Regenerate.
57
58 2000-06-22  Alan Modra  <alan@linuxcare.com.au>
59
60         * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we
61         find one.
62         * Makefile.in: Regenerate.
63
64 2000-06-20  Alan Modra  <alan@linuxcare.com.au>
65
66         * source.c (annotate_source): Correct pointer comparison when
67         checking for backslashes.
68
69 2000-06-13  H.J. Lu  <hjl@gnu.org>
70
71         * configure: Regenerate.
72
73 2000-06-08  David O'Brien  <obrien@FreeBSD.org>
74
75         * configure.in (VERSION): Update to show this is the CVS mainline.
76
77 2000-06-07  Philippe De Muyter  <phdm@macqel.be>
78
79         * source.c: Remove direct inclusion of sys/stat.h.
80
81 2000-05-31  Nick Clifton  <nickc@cygnus.com>
82
83         * gprof.h (_): Revert previous delta.  We want to use gettext,
84         not dgettext in the _ macro.
85
86 2000-05-29  Alan Modra  <alan@linuxcare.com.au>
87
88         * gprof.h (_): Use BFD version.
89
90 2000-05-26  Nick Clifton  <nickc@cygnus.com>
91
92         * gprof.c (main): When calling getopt_long indicate that the 'd'
93         switch takes an optional argument, whereas the 'D' switch takes no
94         argument at all.
95
96 2000-05-26  Alan Modra  <alan@linuxcare.com.au>
97
98         * dep-in.sed: Copy from ../binutils.
99         * Makefile.am: Update dependencies with "make dep-am"
100         * Makefile.in: Regenerate.
101
102         * gprof.h: Remove most nls defines.  They are pulled in by
103         bfd/sysdep.h.  #include "ansidecl.h" not <ansidecl.h>
104
105 2000-05-26  Eli Zaretskii  <eliz@is.elta.co.il>
106
107         * gprof.texi: Fix numerous typos. Mention some DOS/Windows related
108         issues.
109
110         * configure.in: Check for setmode function.
111         * configure: Regenerate.
112
113         * gmon_io.h (SET_BINARY) [HAVE_SETMODE]: Define.
114
115         * gmon_io.c (gmon_out_read) [SET_BINARY]: Switch stdin into binary
116         mode.
117
118         * source.c: Include filenames.h and sys/stat.h.
119         (source_file_lookup_path, source_file_lookup_name): Use
120         FILENAME_CMP to compare file names.
121         (annotate_source) [__MSDOS__]: If "filename-ann" would overwrite
122         "filename", replace the extension with ".ann".
123         [HAVE_DOS_BASED_FILE_SYSTEM]: Support file names with
124         backslashes and drive letters.
125         Use IS_ABSOLUTE_PATH.
126
127         * search_list.h (PATH_SEP_CHAR): Define.
128
129         * search_list.c (search_list_append): Use PATH_SEP_CHAR.
130
131         * hertz.c (HERTZ) [__MSDOS__]: Don't define unless they have
132         neither HAVE_SETITIMER nor HAVE_SYSCONF.
133         [HAVE_SETITIMER]: If they define both HAVE_SETITIMER and
134         HAVE_SYSCONF, try setitimer and fall back on sysconf.
135
136 Fri Apr  7 15:56:57 2000  Andrew Cagney  <cagney@b1.cygnus.com>
137  
138         * configure.in (WARN_CFLAGS): Set to -W -Wall by default.  Add
139         --enable-build-warnings option.
140         * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions.
141         * Makefile.in, configure, aclocal.m4: Re-generate.
142
143 2000-04-05  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
144
145         * gprof.c (copyright): Do not use N_ in array initializer.
146
147 2000-04-04  Alan Modra  <alan@linuxcare.com.au>
148
149         * po/gprof.pot: Regenerate.
150
151         * gprof.c (usage): Restore translated part of bug string.
152
153         * Makefile.am (BASEDIR): Define.
154         (BFDDIR): Define.
155         (INCDIR): Define.
156         (MKDEP): Define.
157         (INCLUDES): Add "-I."
158         (DEP, DEP1, dep.sed, dep, dep-in, dep-am): New targets.
159         (CLEANFILES): Define.
160         Update dependencies.
161         * Makefile.in: Regenerate.
162
163 2000-04-03  Alan Modra  <alan@linuxcare.com.au>
164
165         * gprof.h: #include "bin-bugs.h".
166         * gprof.c (usage): Use REPORT_BUGS_TO.
167
168 2000-03-31  Alan Modra  <alan@linuxcare.com.au>
169
170         * symtab.c (symtab_finalize): Don't use post-increment on
171         structure copy, to work around a ppc gcc bug.
172
173 1999-09-29  Mark Kettenis  <kettenis@gnu.org>
174
175         * hertz.h [MACH] (hertz): Remove macro.  The
176         <machine/mach_param.h> include doesn't exist on al Mach based
177         systems, and the definition of hertz breaks compilation of hertz.c
178         anyway.
179
180 2000-02-22  Ian Lance Taylor  <ian@zembu.com>
181
182         From Brad Lucier <lucier@math.purdue.edu>:
183         * i386.c (i386_find_call): Add cast to ensure that printf argument
184         matches format.
185         * tahoe.c (tahoe_find_call): Likewise.
186         * vax.c (vax_find_call): Likewise.
187
188 2000-01-27  Alan Modra  <alan@spri.levels.unisa.edu.au>
189
190         * utils.c (print_name_only): Don't pass error strings to
191         printf as format arg.
192
193 1999-09-24  Nick Clifton  <nickc@cygnus.com>
194
195         * gmon_io.c (gmon_out_read): Make sure that sensible values
196         are extracted from a raw header.
197
198 1999-08-06  Ian Lance Taylor  <ian@zembu.com>
199
200         From Brad Lucier <lucier@math.purdue.edu>:
201         * corefile.c (core_create_line_syms): Add cast for printf.
202
203 1999-07-21  Ian Lance Taylor  <ian@zembu.com>
204
205         From Mark Elbrecht:
206         * configure.bat: Remove; obsolete.
207
208 1999-07-15  Ian Lance Taylor  <ian@zembu.com>
209
210         * configure.in: Bump version number to 2.9.5.
211         * configure: Rebuild.
212
213 1999-07-11  Ian Lance Taylor  <ian@zembu.com>
214
215         * corefile.c (core_create_function_syms): Add ATTRIBUTED_UNUSED.
216         * sym-ids.c (non_existent_file): Fully initialize structure.
217
218 1999-07-01  Ian Lance Taylor  <ian@zembu.com>
219
220         * Many files: Add casts in many print statements to cast bfd_vma
221         values to unsigned long when calling printf.
222         * Makefile.am ($(OBJECTS)): Add gmon.h.
223         * Makefile.in: Rebuild.
224
225 Mon Jun 14 10:35:28 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
226
227         * gprof.texi: Fix typo.
228
229 1999-06-13  Ian Lance Taylor  <ian@zembu.com>
230
231         From Bob Byrnes <byrnes@curl.com>:
232         * cg_dfn.c: Include "libiberty.h"
233         (DFN_INCR_DEPTH): Define instead of DFN_DEPTH.
234         (dfn_stack): Define as pointer rather than array.
235         (pre_visit): Reallocate dfn_stack as needed.
236
237 1999-04-26  Tom Tromey  <tromey@cygnus.com>
238
239         * aclocal.m4, configure: Updated for new version of libtool.
240
241 1999-04-06  Ian Lance Taylor  <ian@zembu.com>
242
243         * gprof.h (LC_MESSAGES): Never define.
244         * gprof.c (main): Don't pass LC_MESSAGES to setlocale if the
245         system does not define it.
246
247 1999-04-05  H.J. Lu  <hjl@gnu.org>
248
249         * corefile.c (core_create_line_syms): Don't use fixed size array
250         for prev_name and prev_filename.
251
252 1999-04-04  Michael Hohmuth  <hohmuth@innocent.com>
253
254         * gprof.h (FF_BSD44): Define.
255         * gmon.h (struct raw_phdr): Add version, profrate, and spare
256         fields unconditionally.
257         (struct old_raw_phdr): New struct.
258         * gprof.c (main): Handle -O 4.4bsd.
259         * gmon_io.c (gmon_out_read): Handle BSD 4.4 format, either
260         automatically or by user specification.
261         (gmon_out_write): Handle BSD 4.4 format.
262         * configure.in: Don't set BSD44_FORMAT.
263         * gprof.texi (Miscellaneous Options): Document -O 4.4bsd.
264         * configure, gconfig.in: Rebuild.
265
266 Tue Feb 16 17:01:33 1999  Ian Lance Taylor  <ian@cygnus.com>
267
268         * configure.in: Change AC_PREREQ to 2.13.  Change AM_PROG_INSTALL
269         to AC_PROG_INSTALL.  Remove AM_CYGWIN32.  Change AM_EXEEXT to
270         AC_EXEEXT.  Add comment to AC_DEFINE.
271         * acconfig.h: Remove.
272         * aclocal.m4: Rebuild.
273         * configure: Rebuild.
274         * Makefile.in: Rebuild.
275         * gconfig.in: Rebuild.
276
277 Sun Dec  6 21:57:50 1998  Ian Lance Taylor  <ian@cygnus.com>
278
279         * gprof.texi (Symspecs): Mention that you have to add any
280         underscore yourself when naming a symbol.
281
282 Mon Nov  2 15:05:33 1998  Geoffrey Noer  <noer@cygnus.com>
283
284         * configure.in: detect cygwin* instead of cygwin32*
285         * configure: regenerate
286
287 Wed Aug 12 14:59:06 1998  Ian Lance Taylor  <ian@cygnus.com>
288
289         Avoid some overflow cases:
290         * basic_blocks.h (bb_min_calls): Change to unsigned long.
291         * call_graph.h (cg_tally): Change count parameter to unsigned
292         long.
293         * cg_arcs.h (Arc): Change count field to unsigned long.
294         (arc_add): Change count parameter to unsigned long.
295         * source.h (Source_File): Change ncalls field to unsigned long.
296         * symtab.h (Sym): Change fields ncalls, bb_calls, and
297         cg.self_calls to unsigned long.
298         * Many files: Update accordingly.
299
300         * configure, Makefile.in, aclocal.m4: Rebuild with current tools.
301
302 Fri Jul 10 17:29:49 1998  Stan Cox  <scox@equinox.cygnus.com>
303
304         * configure.in (BSD44_FORMAT): Define for cygwin32, win32, mingw32
305         * configure: Rebuild.
306
307 Fri Jun 12 13:40:05 1998  Tom Tromey  <tromey@cygnus.com>
308
309         * po/Make-in (all-yes): If maintainer mode, depend on .pot file.
310         ($(PACKAGE).pot): Unconditionally depend on POTFILES.
311
312 Sun May 10 22:35:33 1998  Jeffrey A Law  (law@cygnus.com)
313
314         * po/Make-in (install-info): New target.
315
316 Tue May  5 18:28:40 1998  Tom Tromey  <tromey@cygnus.com>
317
318         * gprof.h (_): Undefine BFD's version.
319
320 Tue Apr 28 19:17:33 1998  Tom Tromey  <tromey@cygnus.com>
321
322         * gprof.c (main): Conditionally call setlocale.
323         * gprof.h: Include <locale.h> if HAVE_LOCALE_H.
324         (LC_MESSAGES): Now can be defined even when ENABLE_NLS.
325
326 Tue Apr 28 19:50:09 1998  Ian Lance Taylor  <ian@cygnus.com>
327
328         * corefile.c: Rename from core.c.
329         * corefile.h: Rename from core.h.
330         * Many .c files: Include corefile.h rather than core.h.
331         * Makefile.am (sources): Change core.c to corefile.c.
332         (noinst_HEADERS): Change core.h to corefile.h.
333         ($(OBJECTS)): Depend upon corefile.h rather than core.h.
334         (corefile.o): Rename target from core.o, depend upon corefile.c.
335         * Makefile.in, po/POTFILES.in: Rebuild.
336
337 Mon Apr 27 16:50:40 1998  Ian Lance Taylor  <ian@cygnus.com>
338
339         * configure.in: Change version number to 2.9.4
340         * configure: Rebuild.
341
342 Wed Apr 22 16:01:17 1998  Tom Tromey  <tromey@cygnus.com>
343
344         * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
345
346 Wed Apr 22 00:00:22 1998  Tom Tromey  <tromey@scribbles.cygnus.com>
347
348         * gprof.h: Added includes and defines for gettext.
349         * configure.in (ALL_LINGUAS): New macro.
350         Call CY_GNU_GETTEXT.  Create po/Makefile.in and po/Makefile.
351         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
352         HAVE_LC_MESSAGES): Define.
353         * gprof.c (main): Call setlocale, bindtextdomain, textdomain.
354         * Makefile.am (SUBDIRS): New macro.
355         (INCLUDES): Look in intl dirs for headers.  Define LOCALEDIR.
356         (gprof_DEPENDENCIES): Added INTLDEPS.
357         (gprof_LDADD): Added INTLLLIBS.
358         (POTFILES): New macro.
359         (po/POTFILES.in): New target.
360         * Many files: Wrap user-visible strings with gettext invocation.
361
362 Tue Apr  7 12:43:37 1998  Ian Lance Taylor  <ian@cygnus.com>
363
364         From hjl@lucon.org <H.J. Lu>:
365         * Makefile.am (diststuff): New target.
366         * Makefile.in: Rebuild.
367
368 Mon Mar 30 12:47:48 1998  Ian Lance Taylor  <ian@cygnus.com>
369
370         * configure.in: Set version to 2.9.1.
371         * configure: Rebuild.
372
373         * Branched binutils 2.9.
374
375 Sat Mar 28 23:09:08 1998  Ian Lance Taylor  <ian@cygnus.com>
376
377         Fix some gcc -Wall warnings:
378         * cg_arcs.c (num_cycles): Change to unsigned int.
379         (numarcs): Likewise.
380         (arc_add): Change maxarcs to unsigned int.
381         (cg_assemble): Change index to unsigned int.
382         * cg_arcs.h (num_cycles, numarcs): Update declarations.
383         * cg_print.c (cg_print): Change index to unsigned int.
384         (cg_print_index): Change index, nnames, todo, i, and j to unsigned
385         int.
386         (cg_print_file_ordering): Change symbol_count and index2 to
387         unsigned int.
388         * core.c (symbol_map_count): Change to unsigned int.
389         (core_create_function_syms): Change j to unsigned int.
390         (core_create_line_syms): Add cast to avoid warning.
391         * hist.c (hist_assign_samples): Change j to unsigned int.
392         (hist_print): Change index to unsigned i nt.  Add cast to avoid
393         warning.
394         * sym_ids.c (parse_spec): Add casts to avoid warning.
395         * symtab.c (symtab_finalize): Change j to unsigned int.
396         (sym_lookup): Update printf format strings.
397         * symtab.h (Sym_Table): Change len to unsigned int.
398         * tahoe.c (tahoe_reladdr): Add casts to avoid warnings.
399
400 Tue Mar 24 19:00:11 1998  Ian Lance Taylor  <ian@cygnus.com>
401
402         Add --demangle and --no-demangle options:
403         * gprof.h (demangle): Declare.
404         * gprof.c (demangle): New global variable.
405         (OPTION_DEMANGLE, OPTION_NO_DEMANGLE): Define.
406         (long_options): Add "demangle" and "no-demangle".
407         (usage): Mention --demangle and --no-demangle.
408         (main): Handle OPTION_DEMANGLE and OPTION_NO_DEMANGLE.
409         * utils.c (print_name_only): Only demangle symbol name if demangle
410         is true.
411         * gprof.texi (Output Options): Document new options.
412
413 Fri Mar 20 19:21:56 1998  Ian Lance Taylor  <ian@cygnus.com>
414
415         * Makefile.in: Rebuild with automake 1.2e.
416         * aclocal.m4, configure: Rebuild with libtool 1.2.
417
418 Thu Feb 12 14:36:05 1998  Ian Lance Taylor  <ian@cygnus.com>
419
420         * gprof.c (usage): Update bug-gnu-utils address.
421
422 Sat Feb  7 15:43:12 1998  Ian Lance Taylor  <ian@cygnus.com>
423
424         * configure, aclocal.m4: Rebuild with new libtool.
425
426 Fri Feb  6 12:02:28 1998  Ian Lance Taylor  <ian@cygnus.com>
427
428         * alpha.c (alpha_Instruction): Use int, not signed.
429
430 Fri Feb  6 02:00:19 1998  Jeffrey A Law  (law@cygnus.com)
431
432         * core.c (core_init): Adding missing "break".
433
434 Thu Feb  5 12:49:37 1998  Ian Lance Taylor  <ian@cygnus.com>
435
436         * configure, Makefile.in, aclocal.m4: Rebuild with new libtool.
437
438 Tue Feb  3 14:25:25 1998  Brent Baccala  <baccala@freesoft.org>
439
440         * bbconv.pl: New file.
441         * Makefile.am (EXTRA_DIST): Add bbconv.pl.
442         * Makefile.in: Rebuild.
443
444         * gprof.texi: Extensive additions to document all arguments and
445         output formats.
446
447         * symtab.c (symtab_finalize): Prefer function symbols over line
448         symbols.
449         (dbg_sym_lookup): Correct debugging messages.
450
451         * gprof.c (main): --sum implies --line.
452
453         * cg_print.c (cg_print): When doing line by line profiling, don't
454         use a non-function as a main listing item.
455
456         * call_graph.c (cg_tally): When using line by line profiling, use
457         the function symbol as the child.
458
459         * symtab.h (NBBS): Define.
460         (Sym): Add bb_addr and bb_calls fields.
461         * basic_blocks.c (bb_read_rec): Save multiple basic blocks per
462         symbol.
463         (bb_write_blocks): Adjust for multiple basic blocks per symbol.
464         (print_exec_counts): Don't check whether a symbol is the start of
465         a basic block.  Print all basic blocks for a symbol.
466         (annotate_with_count): Rewrite to print all basic block counts and
467         to pay attention to width argument.
468         (print_annotated_source): Don't check whether symbol is the start
469         of a basic block.
470
471         Make it possible to build a cross gprof, although a few cases are
472         still not handled:
473         * configure.in: Don't set MY_TARGET.
474         * gprof.h: Don't include MACHINE_H.  Don't define FOPEN_RB or
475         FOPEN_WB; just get them from sysdep.h.
476         * core.h (min_insn_size, offset_to_code): Declare.
477         * core.c (MIN_INSN_SIZE): Don't define.
478         (min_insn_size, offset_to_code): New variables.
479         (core_init): Initialize min_insn_size and offset_to_code.
480         (find_call): New function.
481         (core_create_line_syms): Don't use min_dist.  Set is_static in
482         pass 2.
483         * hist.c (UNITS_TO_CODE): Define.
484         * gprof.c (default_excluded_list): Add "__mcount_internal".
485         * gmon.h: Change TARGET_alpha to __alpha__.
486         * hertz.h: Ifdef MACH, define hertz as HZ.
487         * alpha.c (alpha_Instruction): Rename from Instruction.  Change
488         all references.
489         (alpha_find_call): Rename from find_call.
490         * alpha.h: Remove.
491         * dummy.c, dummy.h: Remove.
492         * i386.c (i386_iscall): Rename from iscall.  Change all
493         references.  Check for call instruction, not jump or lcall.
494         (i386_find_call): Rename from find_call.  Correct for VMA.
495         Correct call destination computation.  Don't dereference symbol if
496         it is NULL.
497         * i386.h: Remove.
498         * ns532.c, ns532.h: Remove.
499         * sparc.c (CALL): Define.
500         (sparc_find_call): Rename from find_call.
501         * sparc.h: Remove.
502         * tahoe.c: Include cg_arcs.h, core.h, hist.h, and symtab.h.  Don't
503         include time_host.h.
504         (CALLF, PC): Define.
505         (enum tahoe_opermodes, tahoe_operandenum): Define.  Rename all
506         references to opermodes or operandenum to these.
507         (tahoe_operandmode): Rename from operandmode.  Call abort if
508         switch does not return.
509         (tahoe_operandname): Rename from operandname.  Call abort if
510         switch does not return.
511         (tahoe_operandlength): Rename from operandlength.  Call abort if
512         switch does not return.
513         (tahoe_reladdr): Rename from reladdr.
514         (tahoe_find_call): Rename from find_call.  Use core_text_space
515         rather than textspace.
516         * tahoe.h: Remove.
517         * vax.c (CALLS, PC): Define.
518         (enum opermodes, operandenum, struct modebyte): Define.
519         (vax_operandmode): Rename from operandmode.  Call abort if switch
520         does not return.
521         (vax_operandname): Rename from operandname.  Call abort if switch
522         does not return.
523         (vax_operandlength): Rename from operandlength.  Call abort if
524         switch does not return.
525         (vax_reladdr): Rename from reladdr.
526         (vax_find_call): Rename from find_call.
527         * vax.h: Remove.
528         * Makefile.am (AUTOMAKE_OPTIONS): Set to cygnus.
529         (MY_TARGET): Remove.
530         (INCLUDES): Remove -DTARGET_$(MY_TARGET) and -DMACHINE_H=
531         \"$(MY_TARGET).h\".
532         (gprof_SOURCES): Add i386.c, alpha.c, vax.c, tahoe.c, sparc.c.
533         (gprof_DEPENDENCIES): Remove $(MY_TARGET).o.
534         (gprof_LDADD): Likewise.
535         (noinst_HEADERS): Remove alpha.h, i386.h, ns532.h, sparc.h,
536         tahoe.h, vax.h, dummy.h.
537         (EXTRA_DIST): Remove alpha.c, i386.c, ns532.c, sparc.c, tahoe.c,
538         vax.c, dummy.c.
539         ($(OBJECTS)): Don't depend upon $(MY_TARGET).h.
540         ($(MY_TARGET).o): Remove target.
541         (i386.o, alpha.o, vax.o, tahoe.o, sparc.o): New targets.
542         * configure, Makefile.in, aclocal.m4: Rebuild.
543
544 Mon Dec 29 14:17:08 1997  Ian Lance Taylor  <ian@cygnus.com>
545
546         * core.c (core_sym_class): Treat weak symbols as text symbols.
547         From Dean Gaudet <dgaudet@arctic.org>.
548
549 Wed Sep 24 11:35:43 1997  Ian Lance Taylor  <ian@cygnus.com>
550
551         * aclocal.m4: Rebuild with new libtool.
552         * Makefile.in: Rebuild with current automake.
553         * configure: Rebuild.
554
555 Sat Aug  9 16:25:01 1997  Ian Lance Taylor  <ian@cygnus.com>
556
557         * configure.in: Change version number to 2.8.2.  Call
558         AM_PROG_LIBTOOL.  Remove shared library handling; now handled by
559         libtool.  Add AM_CONFIG_HEADER.  Change AC_PROG_INSTALL to
560         AM_PROG_INSTALL.  Add AM_EXEEXT.
561         * Makefile.am (LINK): Remove.
562         (gprof_LDFLAGS): Remove
563         (gprof_DEPENDENCIES): Change libbfd.a to libbfd.la.
564         (gprof_LDADD): Likewise.
565         ($(OBJECTS)): Depend upon gconfig.h and ../bfd/config.h.
566         * gprof.h: Undefine PACKAGE and VERSION after including BFD
567         sysdep.h file, then include new gconfig.h file.
568         * gprof.c (VERSION): Don't define.
569         * acconfig.h: New file.
570         * stamp-h.in: New file.
571         * gconfig.in: New file, created by autoheader.
572         * Makefile.in, configure, aclocal.m4: Rebuild.
573
574 Sat Jun 28 23:20:42 1997  Ian Lance Taylor  <ian@cygnus.com>
575
576         * aclocal.m4, configure, Makefile.in: Rebuild with automake 1.2.
577
578 Mon Jun 16 15:31:39 1997  Ian Lance Taylor  <ian@cygnus.com>
579
580         * Makefile.am (INCLUDES): Add -DDEBUG.
581         * Makefile.in: Rebuild.
582
583 Tue Apr 15 14:19:30 1997  Ian Lance Taylor  <ian@cygnus.com>
584
585         Change to use automake:
586         * Makefile.am: New file.
587         * configure.in: Run AM_INIT_AUTOMAKE, AM_MAINTAINER_MODE, and
588         AM_CYGWIN32.
589         * aclocal.m4: New file, created by aclocal.
590         * Makefile.in: Replace with file created by automake --cygnus.
591         * configure: Rebuild.
592
593 Thu Apr  3 13:21:25 1997  Ian Lance Taylor  <ian@cygnus.com>
594
595         * gprof.c (VERSION): Define as "2.8.1".
596
597         * Branched binutils 2.8.
598
599 Thu Mar 27 17:15:23 1997  Ian Lance Taylor  <ian@cygnus.com>
600
601         * gprof.c (main): Correct copyright message.
602
603 Mon Mar 24 11:12:26 1997  Ian Lance Taylor  <ian@cygnus.com>
604
605         * Makefile.in (.c.o): Define TARGET_$(MY_TARGET) when compiling.
606         * gmon.h: Use bytes counts rather than sizeof in struct raw_phdr
607         and struct raw_arc.
608
609 Mon Mar 17 10:54:47 1997  David Mosberger-Tang  <davidm@azstarnet.com>
610
611         * cg_arcs.c (arc_add): memset() newly alloced arc to ensure
612         all fields are initialized with 0.
613
614 Sat Mar 15 19:17:31 1997  H.J. Lu  <hjl@lucon.org>
615
616         * symtab.h (find_call): Declare.
617         * cg_arcs.c (cg_assemble): Don't declare find_call.
618         * hist.c (scale_and_align_entries): Declare.
619
620 Thu Feb 27 12:46:53 1997  Ian Lance Taylor  <ian@cygnus.com>
621
622         * configure.in: Define BSD44_FORMAT if the target looks like a
623         BSD4.4 derived system.
624         * configure: Rebuild.
625         * Makefile.in (.c.o): Add @DEFS@.
626         * gmon_io.c (gmon_out_read): In BSD44_FORMAT code, get profrate
627         from profrate field, not version field.
628
629 Thu Jan 16 17:42:54 1997  Ian Lance Taylor  <ian@cygnus.com>
630
631         * dummy.c (find_call): Clear ignore_direct_calls.
632
633 Tue Dec 31 15:44:10 1996  Ian Lance Taylor  <ian@cygnus.com>
634
635         * Makefile.in (.c.o): Add -D_GNU_SOURCE.  Put $(CFLAGS) at the
636         end.
637         (gprof): Put $(CFLAGS) after the other options.
638
639 Tue Nov 26 17:08:38 1996  Ian Lance Taylor  <ian@cygnus.com>
640
641         * configure: Rebuild with autoconf 2.12.
642
643 Wed Oct  2 15:23:16 1996  Ian Lance Taylor  <ian@cygnus.com>
644
645         * sparc.c (find_call): Align p_lowpc to avoid bus error.
646
647 Tue Oct  1 15:58:10 1996  Ian Lance Taylor  <ian@cygnus.com>
648
649         * gprof.c (usage): Print bug report address.
650         (main): Change version printing to match current GNU standards.
651
652 Fri Aug 30 12:16:11 1996  Ian Lance Taylor  <ian@cygnus.com>
653
654         * gmon.h: Replace #elif with #else/#endif.
655
656 Thu Aug 29 17:04:10 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
657
658         * configure.in (i[345]86-*-*): Recognize i686 for pentium pro.
659         * configure: Regenerate.
660
661 Thu Aug 22 17:12:30 1996  Ian Lance Taylor  <ian@cygnus.com>
662
663         * configure.in: Set and substitute HLDENV.
664         * configure: Rebuild.
665         * Makefile.in (HLDENV): New variable.
666         (gprof): Use $(HLDENV).
667
668 Wed Aug  7 14:43:51 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
669
670         * core.c (read_function_mappings): Cast xmalloc return.
671
672 Thu Jul  4 12:01:42 1996  Ian Lance Taylor  <ian@cygnus.com>
673
674         * gprof.c (VERSION): Define as "2.7.1".
675
676         * Released binutils 2.7.
677
678         * bb_exit_func.c: Rename from __bb_exit_func.c, so that it can be
679         stored on a System V file system.
680
681 Thu Jun 27 11:36:22 1996  Ian Lance Taylor  <ian@cygnus.com>
682
683         * configure.in: Call AC_ISC_POSIX.
684         * configure: Rebuild.
685         * Makefile.in (gprof): Pass $(CFLAGS) during link.
686         * hertz.c: Don't include <sys/time.h>; let sysdep.h handle that.
687         If HAVE_SETITIMER is not defined, try using sysconf.
688
689 Mon Jun 24 18:27:28 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
690
691         * Makefile.in (exec_prefix, bindir, libdir, mandir, infodir, datadir,
692         INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
693         * configure.in (AC_PREREQ): autoconf 2.5 or higher.
694         (AC_PROG_INSTALL): added.
695         * configure: Rebuilt.
696
697 Mon Jun 24 12:03:09 1996  Ian Lance Taylor  <ian@cygnus.com>
698
699         * configure.in: On alpha*-*-osf*, link against libbfd.a if not
700         using shared libraries.
701         * configure: Rebuild with autoconf 2.10.
702
703 Tue Jun 18 17:35:58 1996  Ian Lance Taylor  <ian@cygnus.com>
704
705         * core.c (core_create_line_syms): Use xstrdup rather than strdup.
706         * source.c (source_file_lookup_path): Likewise.
707
708 Mon Apr  8 14:44:33 1996  Ian Lance Taylor  <ian@cygnus.com>
709
710         * configure.in: Permit --enable-shared to specify a list of
711         directories.
712         * configure: Rebuild.
713
714 Thu Mar 21 17:18:25 1996  Ian Lance Taylor  <ian@cygnus.com>
715
716         * core.c (core_create_function_syms): Move filename and func_name
717         inside ifdef where they are used.
718
719         * core.c (core_sym_class): Parenthesize && within ||.
720         * symtab.c (symtab_finalize): Correct parenthesization.
721
722         * cg_print.h (cg_print_file_ordering): Declare.
723         (cg_print_function_ordering): Declare.
724
725         * __bb_exit_func.c (__bb_exit_func): Replace bcopy with memcpy.
726         * cg_arcs.c (arc_add): Likewise.
727         * cg_print.c (cg_print_function_ordering): Likewise.
728
729 Thu Mar 21 17:02:02 1996  David Mosberger-Tang  <davidm@azstarnet.com>
730
731         * gprof.c (default_excluded_list): Add "__mcount".
732
733         * gprof.c (main): Change ifdef __osf__ to __alpha__.
734
735         * gmon_io.c (gmon_out_read): If BSD44_FORMAT is defined, get the
736         profiling rate from the header.
737
738         * gmon.h (struct raw_phdr): Only include pad if both __alpha__ and
739         __osf__ are defined.  Add new fields if BSD44_FORMAT is defined.
740
741         * alpha.h (MIN_INSN_SIZE): Define.
742         * core.c (MIN_INSN_SIZE): If not defined, define as 1.
743         (core_sym_class): Ignore debugging symbols.
744         (core_create_line_syms): Use MIN_INSN_SIZE when gathering line
745         information.
746
747 Wed Mar 20 18:15:47 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
748
749         * cg_print.c (cg_print_function_ordering): Fix __GNUC__ misspelled
750         as __GNU_C__.
751         (order_and_dump_functions_by_arcs): Likewise.
752
753 Tue Mar 12 12:19:50 1996  Ian Lance Taylor  <ian@cygnus.com>
754
755         * configure: Rebuild with autoconf 2.8.
756
757 Sun Feb 18 15:06:18 1996  Ian Lance Taylor  <ian@cygnus.com>
758
759         * configure.in: Check for 'do not mix' from native linker before
760         trying to use -rpath.
761         * configure: Rebuild.
762
763 Tue Feb 13 15:32:53 1996  Ian Lance Taylor  <ian@cygnus.com>
764
765         * configure.in: Set HDLFLAGS for *-*-hpux with --enable-shared.
766         * configure: Rebuild.
767
768 Wed Feb  7 14:03:17 1996  Ian Lance Taylor  <ian@cygnus.com>
769
770         * configure.in: Don't set CC.  Look for --enable-shared.  Set
771         BFDLIB and HLDFLAGS and substitute them.
772         * configure: Rebuild.
773         * Makefile.in (LIBS): Use @BFDLIB@.
774         (HLDFLAGS): New variable.
775         (gprof): Use $(HLDFLAGS).
776
777 Mon Feb  5 16:34:44 1996  Ian Lance Taylor  <ian@cygnus.com>
778
779         Support for building bfd and opcodes as shared libraries, based on
780         patches from Alan Modra <alan@spri.levels.unisa.edu.au>:
781         * Makefile.in (LIBDEPS): New variable.
782         (LIBS): Use -L../bfd -lbfd.
783         (gprof): Depend upon $(LIBDEPS) rather than $(LIBS).
784
785 Sat Dec 30 10:11:03 1995  Jeffrey A Law  (law@cygnus.com)
786
787         * gprof.c (long_options): Add "--function-ordering" and
788         "--file-ordering" options.
789         (usage): Add new options to usage message.
790         (main): Handle new options.
791         * gprof.h (STYLE_FUNCTION_ORDER): Define.
792         (STYLE_FILE_ORDER): Define.
793         (function_mapping_file): Declare.
794         * cg_arcs.c (arcs, numarcs): New globals.
795         (arc_add): Put new arcs into the arc array so the function/file
796         ordering code can examine them.
797         * cg_arcs.h (struct arc): New field "has_been_placed".
798         (arcs, numarcs): Declare new globals.
799         * core.c (symbol_map, symbol_map_count): New globals.
800         (read_function_mappings): New function to read in a function
801         to object map file.
802         (core_init): Call read_function_mappings if a function mapping
803         file exists.
804         (core_create_function_syms): Handle function to object file
805         mappings.
806         * symtab.h (struct sym): New fields "mapped", "has_been_placed",
807         "nuses", "prev".
808         * cg_print.c (cmp_arc_count): New function for sorting arcs.
809         (cmp_fun_nuses): Likewise for functions.
810         (cg_print_function_ordering): New function to print a suggested
811         function ordering.
812         (cg_print_file_ordering): Likewise for ordering .o files.
813         (order_and_dump_functions_by_arcs): Helper function for function
814         and object file ordering code.
815
816 Sun Dec 24 21:32:27 1995  Jeffrey A Law  (law@cygnus.com)
817
818         * core.c (core_sym_class): Ignore symbols without BSF_FUNCTION
819         set if ignore_non_function is set.
820         * gprof.h (ignore_non_functions): Declare.
821         * gprof.c (ignore_non_functions): Define.
822         (long_options): Add "ignore-non-functions".
823         (usage): Add new options.
824         (main): Recognize "-D" and "--ignore-non-functions" option.
825
826 Tue Nov 21 13:24:39 1995  Ken Raeburn  <raeburn@cygnus.com>
827
828         * Makefile.in (.m.c): Strip out directory name from function
829         name.
830
831         * hist.c (scale_and_align_entries): Don't use DEFUN_VOID.  Do
832         UNITS_TO_CODE adjustment unconditionally; compiler can optimize
833         away zero-offset case.  Refer to scaled_addr, not aligned_addr.
834
835         * vax.c: Don't include vax.h here.
836
837 Thu Nov 16 03:41:37 1995  Ken Raeburn  <raeburn@cygnus.com>
838
839         Version 2.6 released.
840
841 Wed Nov  8 11:40:04 1995  Ian Lance Taylor  <ian@cygnus.com>
842
843         * gprof.c (main): Cast getenv return value.
844
845 Mon Nov  6 15:05:00 1995  Ken Raeburn  <raeburn@cygnus.com>
846
847         * Makefile.in (TAGS): New target.
848
849 Wed Nov  1 12:51:21 1995  Per Bothner  <bothner@kalessin.cygnus.com>
850
851         * Makefile.in (DISTSTUFF):  Rename to GEN_FILES, to avoid confusion.
852         (all):  Depend on $(GEN_FILES), not diststuff (which also depends
853         on info).
854
855 Wed Nov  1 15:23:15 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
856
857         * sym_ids.c: Include <ctype.h>.
858
859 Wed Oct 25 13:24:31 1995  Per Bothner  <bothner@kalessin.cygnus.com>
860
861         * Makefile.in (diststuff):  Also make info.
862         (mostlyclean):  Don't remove gprof.info*.
863         (maintainer-clean realclean):  Also remove *.info*.
864
865 Fri Oct  6 16:25:32 1995  Ken Raeburn  <raeburn@cygnus.com>
866
867         Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
868
869         * Makefile.in: Add dependecies for $(OBJS) on header files.
870
871         * cg_print.c (print_cycle, print_members, cg_print_index): Fix new
872         style output format to make it consistent.
873         * dummy.c (find_call): Fix typo in error message.
874
875 Wed Sep 20 13:21:02 1995  Ian Lance Taylor  <ian@cygnus.com>
876
877         * Makefile.in (maintainer-clean): New target, synonym for
878         realclean.
879
880 Fri Sep  8 14:38:08 1995  Ian Lance Taylor  <ian@cygnus.com>
881
882         * Makefile.in (install): Don't install in $(tooldir).
883
884 Fri Aug 25 15:30:05 1995  Ken Raeburn  <raeburn@cygnus.com>
885
886         NS32K changes from Ian Dall:
887         * configure.in: Use ns32k, not ns532.
888         * ns532.c: Include symtab.h.
889         (find_call): Renamed from findcall.  Print a message.
890         * ns532.h: Remove dummy.h comments.
891
892 Tue Aug 22 10:00:45 1995  Jeffrey A. Law  <law@rtl.cygnus.com>
893
894         * Makefile.in (install): Remove "brokensed" hack, unnecessary now
895         that we're using autoconf.
896
897 Wed Jul 19 18:46:13 1995  Fred Fish  <fnf@cygnus.com>
898
899         * core.c (get_src_info): Cast arg 7 of bfd_find_nearest_line
900         to proper type of "unsigned int *".
901
902 Fri Jun 16 15:29:36 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
903
904         * configure.in: Use changequote around use of [].
905
906 Mon Jun 12 12:14:52 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
907
908         * Makefile.in (distclean, realclean): Remove config.cache and
909           config.log.
910
911 Wed May 17 17:56:53 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
912
913         * Makefile.in (Makefile): Added config.status to dependency list.
914           (config.status): New target.
915           (SHELL): New definition.
916
917 Tue Apr 25 21:11:12 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
918
919         * Makefile.in (install): Depend on "all".
920
921 Thu Apr 20 17:29:07 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
922
923         * Makefile.in: Change all references to MY_MACHINE to MY_TARGET,
924         to match configure script.
925
926 Wed Apr 19 11:19:37 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
927
928         * gen-c-prog.awk: Changed reference to "make-c-prog.awk" in
929           comment emitted by this script to gen-c-prog.awk.
930
931         * Makefile.in, configure.in: Converted to use autoconf.
932         * configure: New file, generated with autoconf 2.3.
933         * config/{mt-alpha, mt-dummy, mt-i386, mt-ns532, mt-sparc,
934           mt-tahoe, mt-vax}: Removed.
935
936 Mon Mar 13 21:44:24 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
937
938         * __bb_exit_func.c: New file, from David Mosberger-Tang.
939
940         Thu Feb  9 16:56:07 1995  David Mosberger-Tang  <davidm@piston.cs.arizona.edu>
941
942         * All *.c: More cleanup towards GNU format.
943
944         * gmon_out.h (struct gmon_hist_hdr, struct gmon_cg_arc_record): 
945         replaced sizeof (bfd_vma) by size (char*) because Ken tells me
946         that bfd_vma is only guaranteed to be at least as big as a pointer.
947
948         (GMON_Record_tag): added explicit enumeration values to ensure
949         compatibility across compilers.
950
951         * gmon_io.c (get_vma, put_vma): replaced sizeof(bfd_vma) by
952         sizeof(char*).
953
954 Tue Feb  7 17:24:12 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
955
956         * All *.c and *.h files: Ran "indent -gnu".  Cleaned up a couple
957         of constructs GNU indent couldn't handle.  Block comments not yet
958         rewritten in GNU format.
959
960         * gprof.c (VERSION): Changed to 2.6, to get in sync for next
961         binutils release.
962
963 Sun Feb  5 16:19:46 1995  David Mosberger-Tang  <davidm@piston.cs.arizona.edu>
964
965         * symtab.c (symtab_finalize): ensure globals symbols really
966         are favored over static ones---even if their name looks less
967         preferable; this is important for HP-UX; for example, there
968         is a static label Ltext_something that aliases the global
969         symbol _start
970
971         * hist.c (hist_print): auto-scaling is now in effect for FSF-style
972         output only; also, auto-scaling is now performed based on
973         per-call, rather than total execution time, which is what it was
974         meant to be.
975
976         * gprof.h (File_Format): new type.
977
978         * gprof.c (VERSION): upped to 2.7---seems to be completely out of
979         sync with Cygnus version numbers though...
980
981         (long_options): renamed --gmon-info to --file-info, --width added,
982         renamed --old-file-format to --file-format
983         (main): dito; also added support to read prof files, but as
984         mon_out_read() is not implemented, it's #ifdef'd out for now
985
986         (usage): update to reflect new options.
987
988         * gmon_io.c: replaced "old_file_format" by more general
989         "file_format" option
990
991         * gmon.h (struct raw_phdr): fixed declaration for OSF/1.
992
993         * core.c (core_sym_class): added back check for __gnu_compiled and
994         ___gnu_compiled for the benefit of systems without
995         bfd_find_nearest_line() support
996
997         (get_src_info): now the libbfd is fixed, invoke bfd_find_nearest_line()
998         with section-relative addresses
999
1000         (core_create_function_syms): get_src_info() calls are currently
1001         enabled for OSF/1 only.  It appears to work allright for SunOS
1002         4.1.x as well, but on SPARCs it gets painfully slow with the
1003         current implementation of aout_32_find_nearest_line();
1004         unfortunately, this means that static functions will not have their
1005         filename printed in the call-graph function index; line-level
1006         profiling should still work, but requires some patience
1007
1008         * cg_print.c (cg_print_index): sanitised printing of index when
1009         using FSF-style output; in particular, output width is now controlled
1010         via option --width and the function tries hard to keep columns
1011         aligned even in the presence of (occasional) long names
1012
1013         * NOTES: a first shot at updating the documentation.
1014
1015 Wed Feb  1 19:07:44 1995  David Mosberger-Tang  <davidm@piston.cs.arizona.edu>
1016
1017         * core.c (core_create_function_syms): fixed computation of min_vma
1018         and max_vma.
1019
1020         * *.c: removed rcsid.
1021
1022 Tue Jan 31 16:18:18 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
1023
1024         * Lots of changes from David Mosberger-Tang:
1025
1026         Tue Oct 25 19:20:14 1994  David Mosberger-Tang  <davidm@piston.cs.arizona.edu>
1027
1028         * gprof.c (main): put parentheses around & within &&.
1029
1030         * basic_blocks.c (bb_read_rec): print warning message (once) when
1031         ignoring basic-block execution counts.
1032
1033         * source.c (source_file_lookup_name): corrected second argument to
1034         strcmp().
1035
1036         * hist.c (print_header): merged Fri Oct 21 18:58:02 1994 change by
1037         Ken Raeburn <raeburn@cujo.cygnus.com> from binutils-2.5.1.
1038
1039         * gmon_io.c (gmon_out_read): the output stule STYLE_GMON_INFO is now
1040         supported both for old and new (versioned) gmon.out files.  Old
1041         files are identified as version 0.
1042
1043         * gmon.h (struct raw_arc): count field is now sizeof(long) bytes
1044         long (instead of 4) because that is what OSF/1 v3.0 uses.
1045
1046         * core.c: minor fixes and debugging info changes.
1047
1048         Sun Sep 11 18:47:47 1994  David Mosberger-Tang  (davidm@piston.cs.arizona.edu)
1049
1050         * core.c (core_init): if .text cannot be found, try $CODE$ (the
1051         name of the text-section under HP-UX).
1052
1053         * hist.c (hist_assign_samples): fixed off-by-one bug: highpc
1054         points one past the last sampling bin, so hist_scale should be
1055         computed as "hist_scale /= hist_num_bins", not "hist_scale /=
1056         hist_num_bins - 1".
1057
1058         * gmon_io.c, hist.c, hist.h: renamed hist_num_samples to
1059         hist_num_bins.
1060
1061         * configure.in: added alpha-*-*) for per-target config.
1062
1063         * alpha.c, alpha.h: created.
1064
1065         * gprof.c (default_excluded_list): <locore>, <hicore> added.
1066
1067         * core.c (core_create_function_syms, core_create_line_syms):
1068         explicitly keep two sentinels "<locore>" and "<hicore>" that catch
1069         all addresses outside the text-space.  Thus, sym_lookup(&symtab,
1070         addr) continues to guarantee not to return 0 on any address.  It
1071         also avoids incorrectly crediting the first/last symbol in the
1072         text-space.
1073
1074         * core.c (core_create_line_syms): always create function symbols
1075         first, then merge in line symbols; this is so that if parts of the
1076         program were compiled without -g, function-level symbols are
1077         available still.
1078
1079         * utils.c (print_name_only): support for print_path added.
1080
1081         * symtab.c (cmp_addr): also use is_func flag in comparison.
1082         (symtab_finalize): return immediately when table empty; now
1083         more careful about getting rid of the right duplicate symbol.
1084
1085         * sparc.c (find_call): many fixes---this function was rather
1086         botched in binutils-2.4 already; it should work again.
1087
1088         * source.c (source_file_lookup_path): PATH is now strdup'ed (it is
1089         not good to rely on get_src_info() to return distinct string
1090         pointers).
1091
1092         * search_list.c (search_list_append): added cast for xmalloc().
1093
1094         * hist.c: added explicit initialization to some of the global
1095         variables; fixed SItab (scales were off by a factor of 10).
1096
1097         * hist.h: include of bfd.h added.
1098
1099         * gprof.c, gprof.h (print_path): added.
1100
1101         * gprof.h (MAX): fixed.
1102
1103         * gmon_out.h: renamed gmon_time_hist_hdr to gmon_hist_hdr.
1104
1105         * gmon_io.c: added some casts to (long) so we can always print as %lx
1106
1107         * core.c (core_get_text_space): fixed to make it work.
1108
1109         * cg_print.c (cg_print_index): added support for print_path option.
1110
1111         * cg_dfn.h (cg_dfn): wrap prototype in PARAMS().
1112
1113         * call_graph.c, gmon_io.c, hist.c: avoid taking address of array
1114         as some compilers complain (e.g., DEC's OSF/1 compiler)
1115
1116         * basic_blocks.c, gmon_io.c, hist.c, source.c, sym_ids.c,
1117         symtab.c: calls to memset() had 2nd and 3rd args reversed.
1118
1119         Sat Sep 10 21:53:13 1994  David Mosberger-Tang  (davidm@piston.cs.arizona.edu)
1120
1121         * gprof.c: added "_mcount" to default_excluded_list.
1122         (main): if output_style==0 and there is either a histogram or a
1123         call-graph, always generate flat and call-graph, no matter what
1124         line_granularity is set to.
1125
1126         * source.c (source_file_lookup_name): if searching for sf->name
1127         fails, try again with filename obtained after stripping off any
1128         partial path from sf->name.
1129
1130         * gprof.h (SRCDEBUG): added.
1131
1132         * search_list.c (search_list_append): directories were added in wrong
1133         order.
1134
1135         * reimplemented selection mechanism from ground up; it is now possible
1136         to accurately control what gets included/excluded in each of the
1137         output styles;  a "symbol-specification" (spec) is the basic means
1138         to select a set of symbols; a spec has the syntax:
1139
1140           spec == (FILENAME:(FUNCNAME|LINE_NUM) | NAME).
1141           arc == spec/spec.
1142
1143         any of the terminal symbols can be empty, in which case they
1144         match anything (wildcards).  NAME is interpreted as a FILENAME
1145         if it contains a dot (e.g., foo.c), as LINE_NUM if it starts
1146         with a digit, and as FUNCNAME otherwise.
1147
1148         For example, to get a call-graph display that ignores arcs
1149         from foo() to bar(), you'd say "--no-graph=foo/bar"; to
1150         show only arcs into bar() (no matter what the caller),
1151         you'd say "--graph=/bar"; and to get a call-graph without
1152         any arc info, you'd say "--graph=/";  similarly, to
1153         get a flat profile without mcount, you'd say "--no-flat=mcount"
1154         and to get a flat profile that shows includes all functions
1155         you'd say "--flat=""" (i.e., an empty spec)
1156
1157         * hist.c (hist_print): top_time wasn't initialized to 0.0.
1158
1159         Fri Sep  9 01:10:21 1994  David Mosberger-Tang  (davidm@piston.cs.arizona.edu)
1160
1161         * gmon_out.h: all headers now declared in terms of characters
1162           to avoid getting into trouble with different compilers introducing
1163           different amount of padding; the code already accessed the fields
1164           through bfd functions, so that didn't have to change.
1165
1166         * hist.c (hist_read_rec, hist_write_rec): added support for
1167           collection pc histograms measuring quantities other than time;
1168           the histogram header now includes a field that specifies the
1169           dimension of the quantity measured by the histogram bins
1170           (normally, this is "seconds", but other meaningful dimensions
1171            include such things as "I-cache misses", "instruction issue stalls"
1172            etc.); there is also a field to specify a one-character
1173           abbreviation for the dimension; in the case of time, this would
1174           be 's'; in most other cases it probably would be '1' (not a physical
1175           dimension).
1176
1177         Thu Sep  8 16:05:08 1994  David Mosberger-Tang  (davidm@piston.cs.arizona.edu)
1178
1179         * gprof.c, gmon_io.[ch]: BSD_COMPATIBLE is gone and new_file_version
1180           has become old_file_version; gmon_io.c now always supports old-style
1181           gmon.out files; it first tries to read gmon.out as a new version
1182           file, if that fails, it tries to read it in the old format;
1183           although not very likely, it is possible for gprof to mistake an
1184           old-style file as a new one (the first 4 bytes would have to
1185           be "gmon"---including the trailing '\0'); in that case, it is
1186           necessary to specify --old-file-version
1187
1188         * gprof.h: removed dependency on SYSV; the code now always uses
1189           strrchr(), memset(), and memcpy() and does not include either
1190           of string.h or strings.h; this should make gprof compile on
1191           any (Unix) system without configuration (per suggestion of
1192           raeburn@cygnus.com)
1193
1194         * gprof.c (usage): fixed location of --new-file-format option.
1195
1196         * cg_arcs.c (propagate_flags): fixed typo in declaration.
1197
1198         * flat_bl.m: removed formfeed at end of file; the form-feed
1199           is now printed cg_print.c only when necessary.
1200
1201         * major rewrite of gprof---too many changes to mention all of
1202           them.  new features:
1203
1204         + -l now requests profiling at the line level (as opposed
1205           to function level); in this mode, gprof creates a "symbol"
1206           (aka name-list entry) for each line of source code, instead
1207            of one per function)
1208
1209         + support for a new gmon.out file format; the new format 
1210           consists of a header with a magic and a version number,
1211           followed by a sequence of profile data; profile data
1212           can any of: (a) PC histogram, (b) call-graph arcs, or
1213           (c) basic-block execution counts; the version number makes
1214           it possible to extend gmon.out in a backwards compatible
1215           fashion
1216
1217         + support for tcov style annotated output: if the gmon.out file
1218           contains basic-block execution counts, the user can request
1219           the generation of annotated source files, much like Sun's
1220           tcov used to do
1221
1222         + long options
1223
1224         + new scheme to suppress symbols that aren't function names
1225           (e.g., avoids mistaking a goto label as a function)
1226
1227         + reorganized source code to make it more managable; as a
1228           side effect, gprof now compiles cleanly with "gcc -Wall"
1229
1230         Thu Sep  1 15:46:49 1994  David Mosberger-Tang  (davidm@piston.cs.arizona.edu)
1231
1232         * gprof.c (funcsymbol): bfd_find_nearest_line() is now used as a
1233         final cross-check to determine whether a static symbol should be
1234         considered as a function-name.
1235
1236         Fri Aug  5 19:32:36 1994  David Mosberger-Tang  (davidm@piston.cs.arizona.edu)
1237
1238         * gmon_io.c (gmon_out_read): recognize "-" as the filename for
1239         stdin; this is useful if you wanna keep gmon.out files compressed;
1240         this way you can "gzcat" the compressed file into gprof.
1241
1242         * gprof.c: flag_min_count now initialized with 1 instead of 0.
1243
1244         * basic_blocks.c (bb_annotate_source): added support for creating
1245         .tcov files when option flag_annotate_make_files is TRUE.
1246         (annotate_with_count): all counts less than the minimum count
1247         specified by -m are now annotated with hash-marks.
1248
1249         * gprof.c (main): -A is now followed by a string of option chars.
1250
1251         * basic_blocks.c (annotate_with_count): replaced b->count with
1252         cnt.
1253
1254         * source.c: flag_annotate_source replaced by source_lock_map.
1255
1256         * source.h: source_lock_map added.
1257
1258         * gprof.c (main): new command-line syntax: -S simply specifies
1259         which source-files user is interested in; -A requests annotated
1260         source files and -AA requests that all lines in a source file
1261         are annotated.
1262
1263         Thu Aug  4 23:27:03 1994  David Mosberger-Tang  (davidm@piston.cs.arizona.edu)
1264
1265         * basic_blocks.c (PATH_MAX): if undefined, define as 1024.
1266
1267         * sparc.c, i386.c, tahoe.c, vax.c: added include of "time_hist.h"
1268         so s_lowpc etc. get declared.
1269
1270         * arcs.h (doarcs): created.
1271
1272         * arcs.c: reordered static functions such that they get defined
1273         before use.
1274
1275         * gprof.c (main): added options:
1276            -A: request annotation of all source lines (with -S)
1277            -m: minimum execution count (with default basic-block display)
1278            -N: force new file format (only if BSD_COMPATIBLE is defined)
1279            -S: annotate source file
1280            -t: set table length (with -S)
1281
1282         * Makefile (OBJS): added basic_blocks.o call_graph.o gmon_io.o
1283         source.o time_hist.o
1284
1285         Fri Jul  1 15:23:50 1994  David Mosberger-Tang  (davidm@piston.cs.arizona.edu)
1286
1287         * gprof.c (asgnsamples): computation of "pcl" and "pch" depended
1288         on the fact being able to store a long in a double without loss of
1289         precision; this does not hold on machines with 64 bit longs and 64
1290         bit doubles.
1291
1292 Fri Oct 21 18:58:02 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
1293
1294         * printgprof.c (flatprofheader): Always set totime to 1.0 if not
1295         greater than 0.0.  Suggested by Harold Assink
1296         <carlo@sg.tn.tudelft.nl>.
1297
1298 Fri Sep 23 15:06:45 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
1299
1300         * printgprof.c (printprof): Use free, not cfree.
1301         (printgprof, printindex): Ditto.
1302
1303 Thu Sep  1 10:40:45 1994  Jeff Law  (law@snake.cs.utah.edu)
1304
1305         * gprof.h (kfromlist, ktolist, flist, Flist, elist, Elist): Make
1306         decls extern to keep native HP compiler quiet.
1307
1308 Tue Aug 30 11:12:13 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
1309
1310         * gprof.c (funcsymbol): Ignore ___gnu_compiled as well as
1311         __gnu_compiled, for the benefit of systems which add a leading
1312         underscore.
1313
1314 Wed Aug 24 12:49:13 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
1315
1316         * configure.in: Change i386-*-* to i[345]86-*-*.
1317
1318 Sun Jul 10 00:35:31 1994  Ian Dall  (dall@hfrd.dsto.gov.au)
1319
1320         * ns532.c, ns532.h: New Files. ns532 support.
1321
1322         * config/mt-ns532: New File. ns532 support.
1323
1324         * gprof.c: user register int i instead of defaulting the int.
1325         Allows compilation with -Dregister= for debugging.
1326
1327         * configure.in: Add ns532 support.
1328
1329 Thu Jun 23 11:22:41 1994  Jeff Law  (law@snake.cs.utah.edu)
1330
1331         * Makefile.in (gprof): Depend on $(LIBS).
1332
1333 Fri May 27 12:24:57 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1334
1335         From binutils-2.4 release:
1336
1337         Wed May 11 22:32:00 1994  DJ Delorie (dj@ctron.com)
1338
1339         * configure.bat: [new] build makefile from makefile.in (dos)
1340         * hertz.c: allow static HERTZ (msdos needs it)
1341         * gprof.c: allow target to select "r" or "rb" for fopen
1342         * gprof.c: ignore __gnu_compiled symbols
1343         * i386.h: dfine FOPEN_RB to "rb" for dos.
1344
1345 Tue May 17 15:30:22 1994  E. Michael Smith (ems@cygnus.com)
1346
1347         * Makefile.in (.m.c:):  Added .SUFFIXES : .m 
1348         so flat_bl.c would make from flat_bl.m file.
1349
1350 Thu May  5 19:23:24 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1351
1352         * Makefile.in (install-info): Check for gprof.info in build dir,
1353         fall back to srcdir.  Depend on it.
1354
1355         * gprof.h (TRUE, FALSE): Always use undef before defining them.
1356
1357 Mon Apr  4 23:47:30 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1358
1359         * Makefile.in (MY_MACHINE): Renamed from MACHINE to avoid losing
1360         makes (osf1) in which the value of MACHINE can not be changed.
1361         * config/*.mt: Changed appropriately.
1362
1363 Wed Mar 30 16:12:40 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
1364
1365         * gprof.c (getsymtab): Change nosyms to long.  Rename
1366         get_symtab_upper_bound to bfd_get_symtab_upper_bound.  Check for
1367         errors from bfd_get_symtab_upper_bound and
1368         bfd_canonicalize_symtab.
1369
1370 Tue Mar 22 10:50:52 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1371
1372         * gprof.c (funcsymbol): Use bfd_get_symbol_info instead of
1373         bfd_decode_symclass.
1374
1375 Sun Mar 20 15:40:21 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
1376
1377         * Makefile.in: Avoid bug in hpux sed.
1378
1379 Wed Dec 15 20:16:40 1993  david d `zoo' zuhn  (zoo@andros.cygnus.com)
1380
1381         * gprof.texi (Invoking): add text about -v flag
1382
1383         * gprof.1: add text about -v flag
1384
1385 Wed Dec  8 16:55:06 1993  david d `zoo' zuhn  (zoo@andros.cygnus.com)
1386
1387         * gprof.c (VERSION): defined a version macro, print the value 
1388         when the -v option is used
1389
1390 Tue Jul  6 10:11:56 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
1391
1392         * Makefile.in: Install correctly.
1393
1394 Thu Jun 24 14:43:22 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
1395
1396         * gprof.c (main): Get whoami from argv, instead of hardcoding.
1397         Use it in usage message.  Split usage message to fit in 80 cols.
1398
1399 Sun Jun 20 20:58:02 1993  Ken Raeburn  (raeburn@poseidon.cygnus.com)
1400
1401         * Makefile.in: Undo 15 June change.
1402
1403 Wed Jun 16 12:54:53 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
1404
1405         * gmon.h, gprof.h: structs of chars used to hold external
1406         representations.
1407         * gprof.c (getpfile, openpfile, readsamples): Swap data in using
1408         new structures.
1409
1410 Tue Jun 15 23:09:17 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
1411
1412         * Makefile.in (.c.o): Look in ../include, not ../bfd, for bfd.h.
1413
1414 Mon Jun 14 16:22:59 1993  david d `zoo' zuhn  (zoo at rtl.cygnus.com)
1415
1416         * Makefile.in: remove parentdir support
1417
1418 Mon Jun  7 12:56:17 1993  Per Bothner  (bothner@rtl.cygnus.com)
1419
1420         * Makefile.in (INCLUDES):  Add -I../bfd for sysdep.h and bfd.h.
1421         * configure.in:  No longer need to configure to get sysdep.h.
1422
1423 Tue May 18 21:44:11 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
1424
1425         * Makefile.in (install): should not depend on install-info
1426
1427 Mon Apr 26 12:37:46 1993  Ian Lance Taylor  (ian@cygnus.com)
1428
1429         * gprof.h: Include ansidecl.h before sysdep.h.  Undefine hz.
1430
1431 Tue Apr 13 16:14:03 1993  Per Bothner  (bothner@cygnus.com)
1432
1433         * M Makefile.in:  Add -g to CFLAGS.
1434         Ads LDFLAGS and use in place of CFLAGS where appropriate.
1435         * configure.in:  Make a sysdep.hlink in the same way other
1436         bfd-based directories do.
1437         * gprof.h (UNIT):  Replace non-standard 'u_short' by 'unsigned
1438         short'.
1439         * gprof.h:  #include sysdep.h instead of a bunch of stuff.
1440         * gprof.c (main):  Fix typo gproff->gprof.
1441
1442 Thu Mar 25 19:00:37 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
1443
1444         * gprof.texi: add INFO-DIR-ENTRY
1445
1446 Tue Mar 23 00:03:11 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
1447
1448         * Makefile.in: add installcheck target
1449
1450 Sat Feb 27 18:17:10 1993  Per Bothner  (bothner@rtl.cygnus.com)
1451
1452         * gprof.c (funcsymbol):  Invert test for aflag.
1453
1454 Thu Feb 25 16:01:50 1993  Per Bothner  (bothner@rtl.cygnus.com)
1455
1456         * printgprof (xmalloc, xrealloc):  Cast results of malloc
1457         and realloc to PTR.
1458
1459 Wed Feb  3 13:55:33 1993  Jeffrey Osier  (jeffrey@fowanton.cygnus.com)
1460
1461         * Makefile.in: created info, install-info, dvi
1462
1463 Wed Jan  6 00:58:09 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
1464
1465         * Makefile.in: fix install rule for $(PROG)
1466
1467 Fri Oct  9 11:25:41 1992  Mark Eichin  (eichin@cygnus.com)
1468
1469         * gprof.1: updated SYNOPSIS to match actual behavior.
1470
1471 Mon Oct  5 17:50:16 1992  Per Bothner  (bothner@cygnus.com)
1472
1473         * gen-c-prog.awk:  New awk script, lightly changed from
1474         previously deleted make-c-prog.awk.  Converts a text file
1475         to a c function that prints that text.
1476         * flat_bl.m, fsf_callg_bl.m, bsd_callg_bl.m:  New files.
1477         Inputs to gen-c-prog.awk, containing text describing
1478         gprof output.
1479         * blurbs.c:  Removed.  Use *_bl.c instead.
1480         * Makefile.in: Use gen-cprog.awk to generate *_bl.c files
1481         from *_bl.m files.  Also, improve *clean rules.
1482         * printgprof.c (printgprof):  Usw new function names from *_bl.c.
1483         
1484
1485 Sun Aug 30 19:54:53 1992  Per Bothner  (bothner@rtl.cygnus.com)
1486
1487         * gprof.h, gprof.c, printfgprof.c:  Add support for two
1488         output styles:  The default is similar to the old FSF gprof,
1489         while -T sets the variable bsd_style_output, which causes
1490         output matching Berkeley's gprof.  The biggest differences
1491         are that with the FSF style output, the flat profile comes
1492         before the call graph; numbers come before explanations;
1493         and there is less gratuitous white space.
1494         * gprof.h, gprof.c, printfgprof.c:  New discard_underscores
1495         variable causes discarding of initial underscores when
1496         printing symbol names.  It is set unless there is a "main"
1497         symbol (without an underscore).
1498         * printfgprof.c:  New function printnameonly(), called
1499         by printname().  It handles stripping of initial '_',
1500         as well as C++ name-demangling.
1501         * gprof.callg, gprof.flat, make-c-prog.awk:  Removed.
1502         It is just as convenient to edit blurbs.c directly.
1503         * Makefile.in:  Removed rule for making blurbs.c.
1504         * blurbs.c:  This is now a true source file (as opposed
1505         to being generated from gprof.callg and gprof.flat).
1506         Change style to use one long string literal, instead of
1507         one literal per output line.  Add FSF-style blurb for call graph.
1508
1509 Wed Aug 19 14:36:39 1992  Ian Lance Taylor  (ian@cygnus.com)
1510
1511         * Makefile.in: always create installation directories.
1512
1513 Wed Aug 12 15:14:14 1992  Mark Eichin  (eichin@cygnus.com)
1514
1515         * Makefile.in: change ${MACHINE} to $(MACHINE).
1516
1517 Sun Jul 19 17:34:01 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
1518
1519         * Makefile.in:  removed installation of the now useless
1520         call.{flag,callg} files.  
1521
1522         * gprof.1: now uses the standard man macros instead of the new BSD
1523         mandoc macros. 
1524
1525 Sun Jul 12 19:06:00 1992  John Gilmore  (gnu at cygnus.com)
1526
1527         * configure.in:  Remove host section, expand target section.
1528         * config/mt-{tahoe,vax}:  Add, to match existing support files.
1529         * config/tmake-*:  Remove leftover crud.
1530
1531         * blurbs.c:  New file, created from gprof.flat and gprof.callg by
1532         * make-c-prog.awk:  which processes text files into C programs.
1533         * printgprof.c (flatprofheader, gprofheader):  Call new functions
1534         to print blurbs.
1535         (printblurb):  Remove.
1536         * Makefile.in:  Infrastructure to build blurbs.
1537         * pathnames.h:  has been removed.  Gprof now has no filename
1538         dependencies in it.
1539         * gprof.c:  Lint.
1540
1541 Sat Jul 11 18:07:21 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
1542
1543         * Makefile.in: define man1dir and install the man page
1544
1545 Fri Jul 10 21:14:08 1992  david d `zoo' zuhn (zoo@cygnus.com)
1546
1547         * Makefile.in: added dummy info and install-info targets
1548
1549 Thu Jun  4 11:34:02 1992  Mark Eichin  (eichin at cygnus.com)
1550
1551         * lookup.c: fixed fencepost in nllookup and added dbg_nllookup for
1552         help in debugging the problem (with -DDEBUG)
1553         * gprof.c: symbol values are now real values, don't add the vma
1554         anymore. (done for solaris; should verify this on other platforms)
1555         * ChangeLog: created.