* configure: Rebuild with autoconf 2.12.
[platform/upstream/binutils.git] / gprof / ChangeLog
1 Tue Nov 26 17:08:38 1996  Ian Lance Taylor  <ian@cygnus.com>
2
3         * configure: Rebuild with autoconf 2.12.
4
5 Wed Oct  2 15:23:16 1996  Ian Lance Taylor  <ian@cygnus.com>
6
7         * sparc.c (find_call): Align p_lowpc to avoid bus error.
8
9 Tue Oct  1 15:58:10 1996  Ian Lance Taylor  <ian@cygnus.com>
10
11         * gprof.c (usage): Print bug report address.
12         (main): Change version printing to match current GNU standards.
13
14 Fri Aug 30 12:16:11 1996  Ian Lance Taylor  <ian@cygnus.com>
15
16         * gmon.h: Replace #elif with #else/#endif.
17
18 Thu Aug 29 17:04:10 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
19
20         * configure.in (i[345]86-*-*): Recognize i686 for pentium pro.
21         * configure: Regenerate.
22
23 Thu Aug 22 17:12:30 1996  Ian Lance Taylor  <ian@cygnus.com>
24
25         * configure.in: Set and substitute HLDENV.
26         * configure: Rebuild.
27         * Makefile.in (HLDENV): New variable.
28         (gprof): Use $(HLDENV).
29
30 Wed Aug  7 14:43:51 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
31
32         * core.c (read_function_mappings): Cast xmalloc return.
33
34 Thu Jul  4 12:01:42 1996  Ian Lance Taylor  <ian@cygnus.com>
35
36         * gprof.c (VERSION): Define as "2.7.1".
37
38         * Released binutils 2.7.
39
40         * bb_exit_func.c: Rename from __bb_exit_func.c, so that it can be
41         stored on a System V file system.
42
43 Thu Jun 27 11:36:22 1996  Ian Lance Taylor  <ian@cygnus.com>
44
45         * configure.in: Call AC_ISC_POSIX.
46         * configure: Rebuild.
47         * Makefile.in (gprof): Pass $(CFLAGS) during link.
48         * hertz.c: Don't include <sys/time.h>; let sysdep.h handle that.
49         If HAVE_SETITIMER is not defined, try using sysconf.
50
51 Mon Jun 24 18:27:28 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
52
53         * Makefile.in (exec_prefix, bindir, libdir, mandir, infodir, datadir,
54         INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
55         * configure.in (AC_PREREQ): autoconf 2.5 or higher.
56         (AC_PROG_INSTALL): added.
57         * configure: Rebuilt.
58
59 Mon Jun 24 12:03:09 1996  Ian Lance Taylor  <ian@cygnus.com>
60
61         * configure.in: On alpha*-*-osf*, link against libbfd.a if not
62         using shared libraries.
63         * configure: Rebuild with autoconf 2.10.
64
65 Tue Jun 18 17:35:58 1996  Ian Lance Taylor  <ian@cygnus.com>
66
67         * core.c (core_create_line_syms): Use xstrdup rather than strdup.
68         * source.c (source_file_lookup_path): Likewise.
69
70 Mon Apr  8 14:44:33 1996  Ian Lance Taylor  <ian@cygnus.com>
71
72         * configure.in: Permit --enable-shared to specify a list of
73         directories.
74         * configure: Rebuild.
75
76 Thu Mar 21 17:18:25 1996  Ian Lance Taylor  <ian@cygnus.com>
77
78         * core.c (core_create_function_syms): Move filename and func_name
79         inside ifdef where they are used.
80
81         * core.c (core_sym_class): Parenthesize && within ||.
82         * symtab.c (symtab_finalize): Correct parenthesization.
83
84         * cg_print.h (cg_print_file_ordering): Declare.
85         (cg_print_function_ordering): Declare.
86
87         * __bb_exit_func.c (__bb_exit_func): Replace bcopy with memcpy.
88         * cg_arcs.c (arc_add): Likewise.
89         * cg_print.c (cg_print_function_ordering): Likewise.
90
91 Thu Mar 21 17:02:02 1996  David Mosberger-Tang  <davidm@azstarnet.com>
92
93         * gprof.c (default_excluded_list): Add "__mcount".
94
95         * gprof.c (main): Change ifdef __osf__ to __alpha__.
96
97         * gmon_io.c (gmon_out_read): If BSD44_FORMAT is defined, get the
98         profiling rate from the header.
99
100         * gmon.h (struct raw_phdr): Only include pad if both __alpha__ and
101         __osf__ are defined.  Add new fields if BSD44_FORMAT is defined.
102
103         * alpha.h (MIN_INSN_SIZE): Define.
104         * core.c (MIN_INSN_SIZE): If not defined, define as 1.
105         (core_sym_class): Ignore debugging symbols.
106         (core_create_line_syms): Use MIN_INSN_SIZE when gathering line
107         information.
108
109 Wed Mar 20 18:15:47 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
110
111         * cg_print.c (cg_print_function_ordering): Fix __GNUC__ misspelled
112         as __GNU_C__.
113         (order_and_dump_functions_by_arcs): Likewise.
114
115 Tue Mar 12 12:19:50 1996  Ian Lance Taylor  <ian@cygnus.com>
116
117         * configure: Rebuild with autoconf 2.8.
118
119 Sun Feb 18 15:06:18 1996  Ian Lance Taylor  <ian@cygnus.com>
120
121         * configure.in: Check for 'do not mix' from native linker before
122         trying to use -rpath.
123         * configure: Rebuild.
124
125 Tue Feb 13 15:32:53 1996  Ian Lance Taylor  <ian@cygnus.com>
126
127         * configure.in: Set HDLFLAGS for *-*-hpux with --enable-shared.
128         * configure: Rebuild.
129
130 Wed Feb  7 14:03:17 1996  Ian Lance Taylor  <ian@cygnus.com>
131
132         * configure.in: Don't set CC.  Look for --enable-shared.  Set
133         BFDLIB and HLDFLAGS and substitute them.
134         * configure: Rebuild.
135         * Makefile.in (LIBS): Use @BFDLIB@.
136         (HLDFLAGS): New variable.
137         (gprof): Use $(HLDFLAGS).
138
139 Mon Feb  5 16:34:44 1996  Ian Lance Taylor  <ian@cygnus.com>
140
141         Support for building bfd and opcodes as shared libraries, based on
142         patches from Alan Modra <alan@spri.levels.unisa.edu.au>:
143         * Makefile.in (LIBDEPS): New variable.
144         (LIBS): Use -L../bfd -lbfd.
145         (gprof): Depend upon $(LIBDEPS) rather than $(LIBS).
146
147 Sat Dec 30 10:11:03 1995  Jeffrey A Law  (law@cygnus.com)
148
149         * gprof.c (long_options): Add "--function-ordering" and
150         "--file-ordering" options.
151         (usage): Add new options to usage message.
152         (main): Handle new options.
153         * gprof.h (STYLE_FUNCTION_ORDER): Define.
154         (STYLE_FILE_ORDER): Define.
155         (function_mapping_file): Declare.
156         * cg_arcs.c (arcs, numarcs): New globals.
157         (arc_add): Put new arcs into the arc array so the function/file
158         ordering code can examine them.
159         * cg_arcs.h (struct arc): New field "has_been_placed".
160         (arcs, numarcs): Declare new globals.
161         * core.c (symbol_map, symbol_map_count): New globals.
162         (read_function_mappings): New function to read in a function
163         to object map file.
164         (core_init): Call read_function_mappings if a function mapping
165         file exists.
166         (core_create_function_syms): Handle function to object file
167         mappings.
168         * symtab.h (struct sym): New fields "mapped", "has_been_placed",
169         "nuses", "prev".
170         * cg_print.c (cmp_arc_count): New function for sorting arcs.
171         (cmp_fun_nuses): Likewise for functions.
172         (cg_print_function_ordering): New function to print a suggested
173         function ordering.
174         (cg_print_file_ordering): Likewise for ordering .o files.
175         (order_and_dump_functions_by_arcs): Helper function for function
176         and object file ordering code.
177
178 Sun Dec 24 21:32:27 1995  Jeffrey A Law  (law@cygnus.com)
179
180         * core.c (core_sym_class): Ignore symbols without BSF_FUNCTION
181         set if ignore_non_function is set.
182         * gprof.h (ignore_non_functions): Declare.
183         * gprof.c (ignore_non_functions): Define.
184         (long_options): Add "ignore-non-functions".
185         (usage): Add new options.
186         (main): Recognize "-D" and "--ignore-non-functions" option.
187
188 Tue Nov 21 13:24:39 1995  Ken Raeburn  <raeburn@cygnus.com>
189
190         * Makefile.in (.m.c): Strip out directory name from function
191         name.
192
193         * hist.c (scale_and_align_entries): Don't use DEFUN_VOID.  Do
194         UNITS_TO_CODE adjustment unconditionally; compiler can optimize
195         away zero-offset case.  Refer to scaled_addr, not aligned_addr.
196
197         * vax.c: Don't include vax.h here.
198
199 Thu Nov 16 03:41:37 1995  Ken Raeburn  <raeburn@cygnus.com>
200
201         Version 2.6 released.
202
203 Wed Nov  8 11:40:04 1995  Ian Lance Taylor  <ian@cygnus.com>
204
205         * gprof.c (main): Cast getenv return value.
206
207 Mon Nov  6 15:05:00 1995  Ken Raeburn  <raeburn@cygnus.com>
208
209         * Makefile.in (TAGS): New target.
210
211 Wed Nov  1 12:51:21 1995  Per Bothner  <bothner@kalessin.cygnus.com>
212
213         * Makefile.in (DISTSTUFF):  Rename to GEN_FILES, to avoid confusion.
214         (all):  Depend on $(GEN_FILES), not diststuff (which also depends
215         on info).
216
217 Wed Nov  1 15:23:15 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
218
219         * sym_ids.c: Include <ctype.h>.
220
221 Wed Oct 25 13:24:31 1995  Per Bothner  <bothner@kalessin.cygnus.com>
222
223         * Makefile.in (diststuff):  Also make info.
224         (mostlyclean):  Don't remove gprof.info*.
225         (maintainer-clean realclean):  Also remove *.info*.
226
227 Fri Oct  6 16:25:32 1995  Ken Raeburn  <raeburn@cygnus.com>
228
229         Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
230
231         * Makefile.in: Add dependecies for $(OBJS) on header files.
232
233         * cg_print.c (print_cycle, print_members, cg_print_index): Fix new
234         style output format to make it consistent.
235         * dummy.c (find_call): Fix typo in error message.
236
237 Wed Sep 20 13:21:02 1995  Ian Lance Taylor  <ian@cygnus.com>
238
239         * Makefile.in (maintainer-clean): New target, synonym for
240         realclean.
241
242 Fri Sep  8 14:38:08 1995  Ian Lance Taylor  <ian@cygnus.com>
243
244         * Makefile.in (install): Don't install in $(tooldir).
245
246 Fri Aug 25 15:30:05 1995  Ken Raeburn  <raeburn@cygnus.com>
247
248         NS32K changes from Ian Dall:
249         * configure.in: Use ns32k, not ns532.
250         * ns532.c: Include symtab.h.
251         (find_call): Renamed from findcall.  Print a message.
252         * ns532.h: Remove dummy.h comments.
253
254 Tue Aug 22 10:00:45 1995  Jeffrey A. Law  <law@rtl.cygnus.com>
255
256         * Makefile.in (install): Remove "brokensed" hack, unnecessary now
257         that we're using autoconf.
258
259 Wed Jul 19 18:46:13 1995  Fred Fish  <fnf@cygnus.com>
260
261         * core.c (get_src_info): Cast arg 7 of bfd_find_nearest_line
262         to proper type of "unsigned int *".
263
264 Fri Jun 16 15:29:36 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
265
266         * configure.in: Use changequote around use of [].
267
268 Mon Jun 12 12:14:52 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
269
270         * Makefile.in (distclean, realclean): Remove config.cache and
271           config.log.
272
273 Wed May 17 17:56:53 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
274
275         * Makefile.in (Makefile): Added config.status to dependency list.
276           (config.status): New target.
277           (SHELL): New definition.
278
279 Tue Apr 25 21:11:12 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
280
281         * Makefile.in (install): Depend on "all".
282
283 Thu Apr 20 17:29:07 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
284
285         * Makefile.in: Change all references to MY_MACHINE to MY_TARGET,
286         to match configure script.
287
288 Wed Apr 19 11:19:37 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
289
290         * gen-c-prog.awk: Changed reference to "make-c-prog.awk" in
291           comment emitted by this script to gen-c-prog.awk.
292
293         * Makefile.in, configure.in: Converted to use autoconf.
294         * configure: New file, generated with autoconf 2.3.
295         * config/{mt-alpha, mt-dummy, mt-i386, mt-ns532, mt-sparc,
296           mt-tahoe, mt-vax}: Removed.
297
298 Mon Mar 13 21:44:24 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
299
300         * __bb_exit_func.c: New file, from David Mosberger-Tang.
301
302         Thu Feb  9 16:56:07 1995  David Mosberger-Tang  <davidm@piston.cs.arizona.edu>
303
304         * All *.c: More cleanup towards GNU format.
305
306         * gmon_out.h (struct gmon_hist_hdr, struct gmon_cg_arc_record): 
307         replaced sizeof (bfd_vma) by size (char*) because Ken tells me
308         that bfd_vma is only guaranteed to be at least as big as a pointer.
309
310         (GMON_Record_tag): added explicit enumeration values to ensure
311         compatibility across compilers.
312
313         * gmon_io.c (get_vma, put_vma): replaced sizeof(bfd_vma) by
314         sizeof(char*).
315
316 Tue Feb  7 17:24:12 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
317
318         * All *.c and *.h files: Ran "indent -gnu".  Cleaned up a couple
319         of constructs GNU indent couldn't handle.  Block comments not yet
320         rewritten in GNU format.
321
322         * gprof.c (VERSION): Changed to 2.6, to get in sync for next
323         binutils release.
324
325 Sun Feb  5 16:19:46 1995  David Mosberger-Tang  <davidm@piston.cs.arizona.edu>
326
327         * symtab.c (symtab_finalize): ensure globals symbols really
328         are favored over static ones---even if their name looks less
329         preferable; this is important for HP-UX; for example, there
330         is a static label Ltext_something that aliases the global
331         symbol _start
332
333         * hist.c (hist_print): auto-scaling is now in effect for FSF-style
334         output only; also, auto-scaling is now performed based on
335         per-call, rather than total execution time, which is what it was
336         meant to be.
337
338         * gprof.h (File_Format): new type.
339
340         * gprof.c (VERSION): upped to 2.7---seems to be completely out of
341         sync with Cygnus version numbers though...
342
343         (long_options): renamed --gmon-info to --file-info, --width added,
344         renamed --old-file-format to --file-format
345         (main): dito; also added support to read prof files, but as
346         mon_out_read() is not implemented, it's #ifdef'd out for now
347
348         (usage): update to reflect new options.
349
350         * gmon_io.c: replaced "old_file_format" by more general
351         "file_format" option
352
353         * gmon.h (struct raw_phdr): fixed declaration for OSF/1.
354
355         * core.c (core_sym_class): added back check for __gnu_compiled and
356         ___gnu_compiled for the benefit of systems without
357         bfd_find_nearest_line() support
358
359         (get_src_info): now the libbfd is fixed, invoke bfd_find_nearest_line()
360         with section-relative addresses
361
362         (core_create_function_syms): get_src_info() calls are currently
363         enabled for OSF/1 only.  It appears to work allright for SunOS
364         4.1.x as well, but on SPARCs it gets painfully slow with the
365         current implementation of aout_32_find_nearest_line();
366         unfortunately, this means that static functions will not have their
367         filename printed in the call-graph function index; line-level
368         profiling should still work, but requires some patience
369
370         * cg_print.c (cg_print_index): sanitized printing of index when
371         using FSF-style output; in particular, output width is now controlled
372         via option --width and the function tries hard to keep columns
373         aligned even in the presence of (occasional) long names
374
375         * NOTES: a first shot at updating the documentation.
376
377 Wed Feb  1 19:07:44 1995  David Mosberger-Tang  <davidm@piston.cs.arizona.edu>
378
379         * core.c (core_create_function_syms): fixed computation of min_vma
380         and max_vma.
381
382         * *.c: removed rcsid.
383
384 Tue Jan 31 16:18:18 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
385
386         * Lots of changes from David Mosberger-Tang:
387
388         Tue Oct 25 19:20:14 1994  David Mosberger-Tang  <davidm@piston.cs.arizona.edu>
389
390         * gprof.c (main): put parentheses around & within &&.
391
392         * basic_blocks.c (bb_read_rec): print warning message (once) when
393         ignoring basic-block execution counts.
394
395         * source.c (source_file_lookup_name): corrected second argument to
396         strcmp().
397
398         * hist.c (print_header): merged Fri Oct 21 18:58:02 1994 change by
399         Ken Raeburn <raeburn@cujo.cygnus.com> from binutils-2.5.1.
400
401         * gmon_io.c (gmon_out_read): the output stule STYLE_GMON_INFO is now
402         supported both for old and new (versioned) gmon.out files.  Old
403         files are identified as version 0.
404
405         * gmon.h (struct raw_arc): count field is now sizeof(long) bytes
406         long (instead of 4) because that is what OSF/1 v3.0 uses.
407
408         * core.c: minor fixes and debugging info changes.
409
410         Sun Sep 11 18:47:47 1994  David Mosberger-Tang  (davidm@piston.cs.arizona.edu)
411
412         * core.c (core_init): if .text cannot be found, try $CODE$ (the
413         name of the text-section under HP-UX).
414
415         * hist.c (hist_assign_samples): fixed off-by-one bug: highpc
416         points one past the last sampling bin, so hist_scale should be
417         computed as "hist_scale /= hist_num_bins", not "hist_scale /=
418         hist_num_bins - 1".
419
420         * gmon_io.c, hist.c, hist.h: renamed hist_num_samples to
421         hist_num_bins.
422
423         * configure.in: added alpha-*-*) for per-target config.
424
425         * alpha.c, alpha.h: created.
426
427         * gprof.c (default_excluded_list): <locore>, <hicore> added.
428
429         * core.c (core_create_function_syms, core_create_line_syms):
430         explicitly keep two sentinels "<locore>" and "<hicore>" that catch
431         all addresses outside the text-space.  Thus, sym_lookup(&symtab,
432         addr) continues to guarantee not to return 0 on any address.  It
433         also avoids incorrectly crediting the first/last symbol in the
434         text-space.
435
436         * core.c (core_create_line_syms): always create function symbols
437         first, then merge in line symbols; this is so that if parts of the
438         program were compiled without -g, function-level symbols are
439         available still.
440
441         * utils.c (print_name_only): support for print_path added.
442
443         * symtab.c (cmp_addr): also use is_func flag in comparison.
444         (symtab_finalize): return immediately when table empty; now
445         more careful about getting rid of the right duplicate symbol.
446
447         * sparc.c (find_call): many fixes---this function was rather
448         botched in binutils-2.4 already; it should work again.
449
450         * source.c (source_file_lookup_path): PATH is now strdup'ed (it is
451         not good to rely on get_src_info() to return distinct string
452         pointers).
453
454         * search_list.c (search_list_append): added cast for xmalloc().
455
456         * hist.c: added explicit initialization to some of the global
457         variables; fixed SItab (scales were off by a factor of 10).
458
459         * hist.h: include of bfd.h added.
460
461         * gprof.c, gprof.h (print_path): added.
462
463         * gprof.h (MAX): fixed.
464
465         * gmon_out.h: renamed gmon_time_hist_hdr to gmon_hist_hdr.
466
467         * gmon_io.c: added some casts to (long) so we can always print as %lx
468
469         * core.c (core_get_text_space): fixed to make it work.
470
471         * cg_print.c (cg_print_index): added support for print_path option.
472
473         * cg_dfn.h (cg_dfn): wrap prototype in PARAMS().
474
475         * call_graph.c, gmon_io.c, hist.c: avoid taking address of array
476         as some compilers complain (e.g., DEC's OSF/1 compiler)
477
478         * basic_blocks.c, gmon_io.c, hist.c, source.c, sym_ids.c,
479         symtab.c: calls to memset() had 2nd and 3rd args reversed.
480
481         Sat Sep 10 21:53:13 1994  David Mosberger-Tang  (davidm@piston.cs.arizona.edu)
482
483         * gprof.c: added "_mcount" to default_excluded_list.
484         (main): if output_style==0 and there is either a histogram or a
485         call-graph, always generate flat and call-graph, no matter what
486         line_granularity is set to.
487
488         * source.c (source_file_lookup_name): if searching for sf->name
489         fails, try again with filename obtained after stripping off any
490         partial path from sf->name.
491
492         * gprof.h (SRCDEBUG): added.
493
494         * search_list.c (search_list_append): directories were added in wrong
495         order.
496
497         * reimplemented selection mechanism from ground up; it is now possible
498         to accurately control what gets included/excluded in each of the
499         output styles;  a "symbol-specification" (spec) is the basic means
500         to select a set of symbols; a spec has the syntax:
501
502           spec == (FILENAME:(FUNCNAME|LINE_NUM) | NAME).
503           arc == spec/spec.
504
505         any of the terminal symbols can be empty, in which case they
506         match anything (wildcards).  NAME is interpreted as a FILENAME
507         if it contains a dot (e.g., foo.c), as LINE_NUM if it starts
508         with a digit, and as FUNCNAME otherwise.
509
510         For example, to get a call-graph display that ignores arcs
511         from foo() to bar(), you'd say "--no-graph=foo/bar"; to
512         show only arcs into bar() (no matter what the caller),
513         you'd say "--graph=/bar"; and to get a call-graph without
514         any arc info, you'd say "--graph=/";  similarly, to
515         get a flat profile without mcount, you'd say "--no-flat=mcount"
516         and to get a flat profile that shows includes all functions
517         you'd say "--flat=""" (i.e., an empty spec)
518
519         * hist.c (hist_print): top_time wasn't initialized to 0.0.
520
521         Fri Sep  9 01:10:21 1994  David Mosberger-Tang  (davidm@piston.cs.arizona.edu)
522
523         * gmon_out.h: all headers now declared in terms of characters
524           to avoid getting into trouble with different compilers introducing
525           different amount of padding; the code already accessed the fields
526           through bfd functions, so that didn't have to change.
527
528         * hist.c (hist_read_rec, hist_write_rec): added support for
529           collection pc histograms measuring quantities other than time;
530           the histogram header now includes a field that specifies the
531           dimension of the quantity measured by the histogram bins
532           (normally, this is "seconds", but other meaningful dimensions
533            include such things as "I-cache misses", "instruction issue stalls"
534            etc.); there is also a field to specify a one-character
535           abbreviation for the dimension; in the case of time, this would
536           be 's'; in most other cases it probably would be '1' (not a physical
537           dimension).
538
539         Thu Sep  8 16:05:08 1994  David Mosberger-Tang  (davidm@piston.cs.arizona.edu)
540
541         * gprof.c, gmon_io.[ch]: BSD_COMPATIBLE is gone and new_file_version
542           has become old_file_version; gmon_io.c now always supports old-style
543           gmon.out files; it first tries to read gmon.out as a new version
544           file, if that fails, it tries to read it in the old format;
545           although not very likely, it is possible for gprof to mistake an
546           old-style file as a new one (the first 4 bytes would have to
547           be "gmon"---including the trailing '\0'); in that case, it is
548           necessary to specify --old-file-version
549
550         * gprof.h: removed dependency on SYSV; the code now always uses
551           strrchr(), memset(), and memcpy() and does not include either
552           of string.h or strings.h; this should make gprof compile on
553           any (Unix) system without configuration (per suggestion of
554           raeburn@cygnus.com)
555
556         * gprof.c (usage): fixed location of --new-file-format option.
557
558         * cg_arcs.c (propagate_flags): fixed typo in declaration.
559
560         * flat_bl.m: removed formfeed at end of file; the form-feed
561           is now printed cg_print.c only when necessary.
562
563         * major rewrite of gprof---too many changes to mention all of
564           them.  new features:
565
566         + -l now requests profiling at the line level (as opposed
567           to function level); in this mode, gprof creates a "symbol"
568           (aka name-list entry) for each line of source code, instead
569            of one per function)
570
571         + support for a new gmon.out file format; the new format 
572           consists of a header with a magic and a version number,
573           followed by a sequence of profile data; profile data
574           can any of: (a) PC histogram, (b) call-graph arcs, or
575           (c) basic-block execution counts; the version number makes
576           it possible to extend gmon.out in a backwards compatible
577           fashion
578
579         + support for tcov style annotated output: if the gmon.out file
580           contains basic-block execution counts, the user can request
581           the generation of annotated source files, much like Sun's
582           tcov used to do
583
584         + long options
585
586         + new scheme to suppress symbols that aren't function names
587           (e.g., avoids mistaking a goto label as a function)
588
589         + reorganized source code to make it more managable; as a
590           side effect, gprof now compiles cleanly with "gcc -Wall"
591
592         Thu Sep  1 15:46:49 1994  David Mosberger-Tang  (davidm@piston.cs.arizona.edu)
593
594         * gprof.c (funcsymbol): bfd_find_nearest_line() is now used as a
595         final cross-check to determine whether a static symbol should be
596         considered as a function-name.
597
598         Fri Aug  5 19:32:36 1994  David Mosberger-Tang  (davidm@piston.cs.arizona.edu)
599
600         * gmon_io.c (gmon_out_read): recognize "-" as the filename for
601         stdin; this is useful if you wanna keep gmon.out files compressed;
602         this way you can "gzcat" the compressed file into gprof.
603
604         * gprof.c: flag_min_count now initialized with 1 instead of 0.
605
606         * basic_blocks.c (bb_annotate_source): added support for creating
607         .tcov files when option flag_annotate_make_files is TRUE.
608         (annotate_with_count): all counts less than the minimum count
609         specified by -m are now annotated with hash-marks.
610
611         * gprof.c (main): -A is now followed by a string of option chars.
612
613         * basic_blocks.c (annotate_with_count): replaced b->count with
614         cnt.
615
616         * source.c: flag_annotate_source replaced by source_lock_map.
617
618         * source.h: source_lock_map added.
619
620         * gprof.c (main): new command-line syntax: -S simply specifies
621         which source-files user is interested in; -A requests annotated
622         source files and -AA requests that all lines in a source file
623         are annotated.
624
625         Thu Aug  4 23:27:03 1994  David Mosberger-Tang  (davidm@piston.cs.arizona.edu)
626
627         * basic_blocks.c (PATH_MAX): if undefined, define as 1024.
628
629         * sparc.c, i386.c, tahoe.c, vax.c: added include of "time_hist.h"
630         so s_lowpc etc. get declared.
631
632         * arcs.h (doarcs): created.
633
634         * arcs.c: reordered static functions such that they get defined
635         before use.
636
637         * gprof.c (main): added options:
638            -A: request annotation of all source lines (with -S)
639            -m: minimum execution count (with default basic-block display)
640            -N: force new file format (only if BSD_COMPATIBLE is defined)
641            -S: annotate source file
642            -t: set table length (with -S)
643
644         * Makefile (OBJS): added basic_blocks.o call_graph.o gmon_io.o
645         source.o time_hist.o
646
647         Fri Jul  1 15:23:50 1994  David Mosberger-Tang  (davidm@piston.cs.arizona.edu)
648
649         * gprof.c (asgnsamples): computation of "pcl" and "pch" depended
650         on the fact being able to store a long in a double without loss of
651         precision; this does not hold on machines with 64 bit longs and 64
652         bit doubles.
653
654 Fri Oct 21 18:58:02 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
655
656         * printgprof.c (flatprofheader): Always set totime to 1.0 if not
657         greater than 0.0.  Suggested by Harold Assink
658         <carlo@sg.tn.tudelft.nl>.
659
660 Fri Sep 23 15:06:45 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
661
662         * printgprof.c (printprof): Use free, not cfree.
663         (printgprof, printindex): Ditto.
664
665 Thu Sep  1 10:40:45 1994  Jeff Law  (law@snake.cs.utah.edu)
666
667         * gprof.h (kfromlist, ktolist, flist, Flist, elist, Elist): Make
668         decls extern to keep native HP compiler quiet.
669
670 Tue Aug 30 11:12:13 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
671
672         * gprof.c (funcsymbol): Ignore ___gnu_compiled as well as
673         __gnu_compiled, for the benefit of systems which add a leading
674         underscore.
675
676 Wed Aug 24 12:49:13 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
677
678         * configure.in: Change i386-*-* to i[345]86-*-*.
679
680 Sun Jul 10 00:35:31 1994  Ian Dall  (dall@hfrd.dsto.gov.au)
681
682         * ns532.c, ns532.h: New Files. ns532 support.
683
684         * config/mt-ns532: New File. ns532 support.
685
686         * gprof.c: user register int i instead of defaulting the int.
687         Allows compilation with -Dregister= for debugging.
688
689         * configure.in: Add ns532 support.
690
691 Thu Jun 23 11:22:41 1994  Jeff Law  (law@snake.cs.utah.edu)
692
693         * Makefile.in (gprof): Depend on $(LIBS).
694
695 Fri May 27 12:24:57 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
696
697         From binutils-2.4 release:
698
699         Wed May 11 22:32:00 1994  DJ Delorie (dj@ctron.com)
700
701         * configure.bat: [new] build makefile from makefile.in (dos)
702         * hertz.c: allow static HERTZ (msdos needs it)
703         * gprof.c: allow target to select "r" or "rb" for fopen
704         * gprof.c: ignore __gnu_compiled symbols
705         * i386.h: dfine FOPEN_RB to "rb" for dos.
706
707 Tue May 17 15:30:22 1994  E. Michael Smith (ems@cygnus.com)
708
709         * Makefile.in (.m.c:):  Added .SUFFIXES : .m 
710         so flat_bl.c would make from flat_bl.m file.
711
712 Thu May  5 19:23:24 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
713
714         * Makefile.in (install-info): Check for gprof.info in build dir,
715         fall back to srcdir.  Depend on it.
716
717         * gprof.h (TRUE, FALSE): Always use undef before defining them.
718
719 Mon Apr  4 23:47:30 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
720
721         * Makefile.in (MY_MACHINE): Renamed from MACHINE to avoid losing
722         makes (osf1) in which the value of MACHINE can not be changed.
723         * config/*.mt: Changed appropriately.
724
725 Wed Mar 30 16:12:40 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
726
727         * gprof.c (getsymtab): Change nosyms to long.  Rename
728         get_symtab_upper_bound to bfd_get_symtab_upper_bound.  Check for
729         errors from bfd_get_symtab_upper_bound and
730         bfd_canonicalize_symtab.
731
732 Tue Mar 22 10:50:52 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
733
734         * gprof.c (funcsymbol): Use bfd_get_symbol_info instead of
735         bfd_decode_symclass.
736
737 Sun Mar 20 15:40:21 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
738
739         * Makefile.in: Avoid bug in hpux sed.
740
741 Wed Dec 15 20:16:40 1993  david d `zoo' zuhn  (zoo@andros.cygnus.com)
742
743         * gprof.texi (Invoking): add text about -v flag
744
745         * gprof.1: add text about -v flag
746
747 Wed Dec  8 16:55:06 1993  david d `zoo' zuhn  (zoo@andros.cygnus.com)
748
749         * gprof.c (VERSION): defined a version macro, print the value 
750         when the -v option is used
751
752 Tue Jul  6 10:11:56 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
753
754         * Makefile.in: Install correctly.
755
756 Thu Jun 24 14:43:22 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
757
758         * gprof.c (main): Get whoami from argv, instead of hardcoding.
759         Use it in usage message.  Split usage message to fit in 80 cols.
760
761 Sun Jun 20 20:58:02 1993  Ken Raeburn  (raeburn@poseidon.cygnus.com)
762
763         * Makefile.in: Undo 15 June change.
764
765 Wed Jun 16 12:54:53 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
766
767         * gmon.h, gprof.h: structs of chars used to hold external
768         representations.
769         * gprof.c (getpfile, openpfile, readsamples): Swap data in using
770         new structures.
771
772 Tue Jun 15 23:09:17 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
773
774         * Makefile.in (.c.o): Look in ../include, not ../bfd, for bfd.h.
775
776 Mon Jun 14 16:22:59 1993  david d `zoo' zuhn  (zoo at rtl.cygnus.com)
777
778         * Makefile.in: remove parentdir support
779
780 Mon Jun  7 12:56:17 1993  Per Bothner  (bothner@rtl.cygnus.com)
781
782         * Makefile.in (INCLUDES):  Add -I../bfd for sysdep.h and bfd.h.
783         * configure.in:  No longer need to configure to get sysdep.h.
784
785 Tue May 18 21:44:11 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
786
787         * Makefile.in (install): should not depend on install-info
788
789 Mon Apr 26 12:37:46 1993  Ian Lance Taylor  (ian@cygnus.com)
790
791         * gprof.h: Include ansidecl.h before sysdep.h.  Undefine hz.
792
793 Tue Apr 13 16:14:03 1993  Per Bothner  (bothner@cygnus.com)
794
795         * M Makefile.in:  Add -g to CFLAGS.
796         Ads LDFLAGS and use in place of CFLAGS where appropriate.
797         * configure.in:  Make a sysdep.hlink in the same way other
798         bfd-based directories do.
799         * gprof.h (UNIT):  Replace non-standard 'u_short' by 'unsigned
800         short'.
801         * gprof.h:  #include sysdep.h instead of a bunch of stuff.
802         * gprof.c (main):  Fix typo gproff->gprof.
803
804 Thu Mar 25 19:00:37 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
805
806         * gprof.texi: add INFO-DIR-ENTRY
807
808 Tue Mar 23 00:03:11 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
809
810         * Makefile.in: add installcheck target
811
812 Sat Feb 27 18:17:10 1993  Per Bothner  (bothner@rtl.cygnus.com)
813
814         * gprof.c (funcsymbol):  Invert test for aflag.
815
816 Thu Feb 25 16:01:50 1993  Per Bothner  (bothner@rtl.cygnus.com)
817
818         * printgprof (xmalloc, xrealloc):  Cast results of malloc
819         and realloc to PTR.
820
821 Wed Feb  3 13:55:33 1993  Jeffrey Osier  (jeffrey@fowanton.cygnus.com)
822
823         * Makefile.in: created info, install-info, dvi
824
825 Wed Jan  6 00:58:09 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
826
827         * Makefile.in: fix install rule for $(PROG)
828
829 Fri Oct  9 11:25:41 1992  Mark Eichin  (eichin@cygnus.com)
830
831         * gprof.1: updated SYNOPSIS to match actual behavior.
832
833 Mon Oct  5 17:50:16 1992  Per Bothner  (bothner@cygnus.com)
834
835         * gen-c-prog.awk:  New awk script, lightly changed from
836         previously deleted make-c-prog.awk.  Converts a text file
837         to a c function that prints that text.
838         * flat_bl.m, fsf_callg_bl.m, bsd_callg_bl.m:  New files.
839         Inputs to gen-c-prog.awk, containing text describing
840         gprof output.
841         * blurbs.c:  Removed.  Use *_bl.c instead.
842         * Makefile.in: Use gen-cprog.awk to generate *_bl.c files
843         from *_bl.m files.  Also, improve *clean rules.
844         * printgprof.c (printgprof):  Usw new function names from *_bl.c.
845         
846
847 Sun Aug 30 19:54:53 1992  Per Bothner  (bothner@rtl.cygnus.com)
848
849         * gprof.h, gprof.c, printfgprof.c:  Add support for two
850         output styles:  The default is similar to the old FSF gprof,
851         while -T sets the variable bsd_style_output, which causes
852         output matching Berkeley's gprof.  The biggest differences
853         are that with the FSF style output, the flat profile comes
854         before the call graph; numbers come before explanations;
855         and there is less gratuitous white space.
856         * gprof.h, gprof.c, printfgprof.c:  New discard_underscores
857         variable causes discarding of initial underscores when
858         printing symbol names.  It is set unless there is a "main"
859         symbol (without an underscore).
860         * printfgprof.c:  New function printnameonly(), called
861         by printname().  It handles stripping of initial '_',
862         as well as C++ name-demangling.
863         * gprof.callg, gprof.flat, make-c-prog.awk:  Removed.
864         It is just as convenient to edit blurbs.c directly.
865         * Makefile.in:  Removed rule for making blurbs.c.
866         * blurbs.c:  This is now a true source file (as opposed
867         to being generated from gprof.callg and gprof.flat).
868         Change style to use one long string literal, instead of
869         one literal per output line.  Add FSF-style blurb for call graph.
870
871 Wed Aug 19 14:36:39 1992  Ian Lance Taylor  (ian@cygnus.com)
872
873         * Makefile.in: always create installation directories.
874
875 Wed Aug 12 15:14:14 1992  Mark Eichin  (eichin@cygnus.com)
876
877         * Makefile.in: change ${MACHINE} to $(MACHINE).
878
879 Sun Jul 19 17:34:01 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
880
881         * Makefile.in:  removed installation of the now useless
882         call.{flag,callg} files.  
883
884         * gprof.1: now uses the standard man macros instead of the new BSD
885         mandoc macros. 
886
887 Sun Jul 12 19:06:00 1992  John Gilmore  (gnu at cygnus.com)
888
889         * configure.in:  Remove host section, expand target section.
890         * config/mt-{tahoe,vax}:  Add, to match existing support files.
891         * config/tmake-*:  Remove leftover crud.
892
893         * blurbs.c:  New file, created from gprof.flat and gprof.callg by
894         * make-c-prog.awk:  which processes text files into C programs.
895         * printgprof.c (flatprofheader, gprofheader):  Call new functions
896         to print blurbs.
897         (printblurb):  Remove.
898         * Makefile.in:  Infrastructure to build blurbs.
899         * pathnames.h:  has been removed.  Gprof now has no filename
900         dependencies in it.
901         * gprof.c:  Lint.
902
903 Sat Jul 11 18:07:21 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
904
905         * Makefile.in: define man1dir and install the man page
906
907 Fri Jul 10 21:14:08 1992  david d `zoo' zuhn (zoo@cygnus.com)
908
909         * Makefile.in: added dummy info and install-info targets
910
911 Thu Jun  4 11:34:02 1992  Mark Eichin  (eichin at cygnus.com)
912
913         * lookup.c: fixed fencepost in nllookup and added dbg_nllookup for
914         help in debugging the problem (with -DDEBUG)
915         * gprof.c: symbol values are now real values, don't add the vma
916         anymore. (done for solaris; should verify this on other platforms)
917         * ChangeLog: created.