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