| |
| - add support for prof file format so that prof files can be displayed |
| at the line-level (this is useful for the uprofile tool under DEC's |
| OSF/1) |
| - take a hard look at --file-ordering (broken) and --function-ordering |
| |
| + documentation |
| + optimize bfd_find_nearest_line_num() (or replace by different interface) |
| + cleanup _bfd_ecoff_find_nearest_line_num() fixes & description |
| + ensure "cc -pg" produces good files under OSF/1 v3.0 |
| + make sure gprof works together with OSF/1 v3.0's profiling libraries |
| + implement symtab_parse(); modify sym_lookup() to consider addr_high |
| + change gprof.c to collect lists, then invoke symtab_parse() for |
| each list |
| + Questions: |
| o is -c (--static-call-graph) useful at all? i can't see |
| how; if it were deleted, gprof would be completely machine |
| independent => yup, it is |
| o are (long) option names appropriate? |
| o -k (--exclude-arc) cannot be implemented with getopt(); |
| is new syntax (-k from/to) acceptable? If not, how to |
| fix it? |
| o in the FSF output, the call-graph index now prints |
| the filename of static functions in parentheses; e.g., |
| static function foo() that is defined in file bar.c |
| would be printed as: |
| |
| [4] foo (bar.c) |
| |
| is this acceptable? should it be done only optionally? |
| o symbols with addresses that map back to a different |
| name are suppressed (happens with labels, for example); |
| is this acceptable? should it be done only optionally? |
| + generalize to allow arbitrary histograms (not just time histograms) |
| + basic-block information currently replaces all symbols created from |
| the core because of an ugly ordering conflict---for now, the current |
| solution works, but something cleaner is desirable ==> cleaned up, |
| but it's slower now |
| + convert to very new file format (back to trivial format, that is :) |
| + replace "dummy.h" for Alpha (if there is any use to it) |
| + add support for execution time profiling at a basic-block level |
| + fix filename-off-by-one bug for Alpha (see ~/tmp/d.[ch])---no longer |
| relevant |
| + "-pg -a" doesn't work as expected because mcleanup() will overwrite |
| the file generated by __bb_exit_func() (or vice versa) |
| + first basic-block of fac() seems to get credited to last basic-block |
| of previous function => bug in basic_blocks.c |
| + flat profile should provide automatic scaling for per-call times because |
| otherwise they'll always be zero on a fast machine with tons of small |
| functions |
| + make "-a" imply to retain line number info (without actually generating |
| the debugging information (unless -g is specified)---no, this is a |
| bad idea, because it is not clear what level of debugging info should |
| be requested (e.g., -g vs. -g3); leaving it up to the user seems best |
| + add long options support (or at least use getopt instead of ad-hoc |
| implementation) |
| + split into files according to abstract objects that are manipulated |
| + replace sccsid by rcsid & add "end of ..." to every .c file |
| + use DBG() everywhere |
| + fix spacing (" ," -> "," etc.) |
| + use DEFUNs everywhere |
| + make compile cleanly with -Wall |
| + "gcc -pg -O2" doesn't work on tecc.c unless -fno-omit-frame-pointer is |
| specified; find out why |
| + make things portable (prototypes, const, etc.) |
| + if NEW_GMON_OUT is not defined, have a flag that will allow to |
| read new gmon.out style files. The idea being that everyone |
| will use the new format for basic-block style profiling but |
| the old format for regular gpprofiling |
| |
| Copyright (C) 2012-2024 Free Software Foundation, Inc. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |