TODO 3.6 KB

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