TODO revision 1.1.1.1 1 1.1 skrll
2 1.1 skrll - add support for prof file format so that prof files can be displayed
3 1.1 skrll at the line-level (this is useful for the uprofile tool under DEC's
4 1.1 skrll OSF/1)
5 1.1 skrll - take a hard look at --file-ordering (broken) and --function-ordering
6 1.1 skrll
7 1.1 skrll + documentation
8 1.1 skrll + optimize bfd_find_nearest_line_num() (or replace by different interface)
9 1.1 skrll + cleanup _bfd_ecoff_find_nearest_line_num() fixes & description
10 1.1 skrll + ensure "cc -pg" produces good files under OSF/1 v3.0
11 1.1 skrll + make sure gprof works together with OSF/1 v3.0's profiling libraries
12 1.1 skrll + implement symtab_parse(); modify sym_lookup() to consider addr_high
13 1.1 skrll + change gprof.c to collect lists, then invoke symtab_parse() for
14 1.1 skrll each list
15 1.1 skrll + Questions:
16 1.1 skrll o is -c (--static-call-graph) useful at all? i can't see
17 1.1 skrll how; if it were deleted, gprof would be completely machine
18 1.1 skrll independent => yup, it is
19 1.1 skrll o are (long) option names appropriate?
20 1.1 skrll o -k (--exclude-arc) cannot be implemented with getopt();
21 1.1 skrll is new syntax (-k from/to) acceptable? If not, how to
22 1.1 skrll fix it?
23 1.1 skrll o in the FSF output, the call-graph index now prints
24 1.1 skrll the filename of static functions in parentheses; e.g.,
25 1.1 skrll static function foo() that is defined in file bar.c
26 1.1 skrll would be printed as:
27 1.1 skrll
28 1.1 skrll [4] foo (bar.c)
29 1.1 skrll
30 1.1 skrll is this acceptable? should it be done only optionally?
31 1.1 skrll o symbols with addresses that map back to a different
32 1.1 skrll name are suppressed (happens with labels, for example);
33 1.1 skrll is this acceptable? should it be done only optionally?
34 1.1 skrll + generalize to allow arbitrary histograms (not just time histograms)
35 1.1 skrll + basic-block information currently replaces all symbols created from
36 1.1 skrll the core because of an ugly ordering conflict---for now, the current
37 1.1 skrll solution works, but something cleaner is desirable ==> cleaned up,
38 1.1 skrll but it's slower now
39 1.1 skrll + convert to very new file format (back to trivial format, that is :)
40 1.1 skrll + replace "dummy.h" for Alpha (if there is any use to it)
41 1.1 skrll + add support for execution time profiling at a basic-block level
42 1.1 skrll + fix filename-off-by-one bug for Alpha (see ~/tmp/d.[ch])---no longer
43 1.1 skrll relevant
44 1.1 skrll + "-pg -a" doesn't work as expected because mcleanup() will overwrite
45 1.1 skrll the file generated by __bb_exit_func() (or vice versa)
46 1.1 skrll + first basic-block of fac() seems to get credited to last basic-block
47 1.1 skrll of previous function => bug in basic_blocks.c
48 1.1 skrll + flat profile should provide automatic scaling for per-call times because
49 1.1 skrll otherwise they'll always be zero on a fast machine with tons of small
50 1.1 skrll functions
51 1.1 skrll + make "-a" imply to retain line number info (without actually generating
52 1.1 skrll the debugging information (unless -g is specified)---no, this is a
53 1.1 skrll bad idea, because it is not clear what level of debugging info should
54 1.1 skrll be requested (e.g., -g vs. -g3); leaving it up to the user seems best
55 1.1 skrll + add long options support (or at least use getopt instead of ad-hoc
56 1.1 skrll implementation)
57 1.1 skrll + split into files according to abstract objects that are manipulated
58 1.1 skrll + replace sccsid by rcsid & add "end of ..." to every .c file
59 1.1 skrll + use DBG() everywhere
60 1.1 skrll + fix spacing (" ," -> "," etc.)
61 1.1 skrll + use DEFUNs everywhere
62 1.1 skrll + make compile cleanly with -Wall
63 1.1 skrll + "gcc -pg -O2" doesn't work on tecc.c unless -fno-omit-frame-pointer is
64 1.1 skrll specified; find out why
65 1.1 skrll + make things portable (prototypes, const, etc.)
66 1.1 skrll + if NEW_GMON_OUT is not defined, have a flag that will allow to
67 1.1 skrll read new gmon.out style files. The idea being that everyone
68 1.1 skrll will use the new format for basic-block style profiling but
69 1.1 skrll the old format for regular gpprofiling
70