aboutsummaryrefslogtreecommitdiff
path: root/gprof/gprof.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1995-12-25 04:32:29 +0000
committerJeff Law <law@redhat.com>1995-12-25 04:32:29 +0000
commit32843f948c896c825b38465b5495044f9f6cb298 (patch)
tree9eed0cebd32f609fb20ec5fc2b5ef95ec7ffe377 /gprof/gprof.c
parent7920c1d195114002311c4a8b1209603a8c57d315 (diff)
downloadgdb-32843f948c896c825b38465b5495044f9f6cb298.zip
gdb-32843f948c896c825b38465b5495044f9f6cb298.tar.gz
gdb-32843f948c896c825b38465b5495044f9f6cb298.tar.bz2
* core.c (core_sym_class): Ignore symbols without BSF_FUNCTION
set if ignore_non_function is set. * gprof.h (ignore_non_functions): Declare. * gprof.c (ignore_non_functions): Define. (long_options): Add "ignore-non-functions". (usage): Add new options. (main): Recognize "-D" and "--ignore-non-functions" option. So we can get more accurate information on Solaris, HPUX and other systems that can uniquely identify function symbols.
Diffstat (limited to 'gprof/gprof.c')
-rw-r--r--gprof/gprof.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/gprof/gprof.c b/gprof/gprof.c
index 5da3180..0f9dd85 100644
--- a/gprof/gprof.c
+++ b/gprof/gprof.c
@@ -50,6 +50,7 @@ bool ignore_zeros = TRUE;
bool line_granularity = FALSE;
bool print_descriptions = TRUE;
bool print_path = FALSE;
+bool ignore_non_functions = FALSE;
File_Format file_format = FF_AUTO;
bool first_output = TRUE;
@@ -76,6 +77,7 @@ static struct option long_options[] =
{
{"line", no_argument, 0, 'l'},
{"no-static", no_argument, 0, 'a'},
+ {"ignore-non-functions", no_argument, 0, 'D'},
/* output styles: */
@@ -129,7 +131,7 @@ static void
DEFUN (usage, (stream, status), FILE * stream AND int status)
{
fprintf (stream, "\
-Usage: %s [-[abchilLsTvwxyz]] [-[ACeEfFJnNOpPqQZ][name]] [-I dirs]\n\
+Usage: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqQZ][name]] [-I dirs]\n\
[-d[num]] [-k from/to] [-m min-count] [-t table-length]\n\
[--[no-]annotated-source[=name]] [--[no-]exec-counts[=name]]\n\
[--[no-]flat-profile[=name]] [--[no-]graph[=name]]\n\
@@ -138,7 +140,7 @@ Usage: %s [-[abchilLsTvwxyz]] [-[ACeEfFJnNOpPqQZ][name]] [-I dirs]\n\
[--file-format=name] [--file-info] [--help] [--line] [--min-count=n]\n\
[--no-static] [--print-path] [--separate-files]\n\
[--static-call-graph] [--sum] [--table-length=len] [--traditional]\n\
- [--version] [--width=n]\n\
+ [--version] [--width=n] [--ignore-non-functions]\n\
[image-file] [profile-file...]\n",
whoami);
done (status);
@@ -156,7 +158,7 @@ DEFUN (main, (argc, argv), int argc AND char **argv)
xmalloc_set_program_name (whoami);
while ((ch = getopt_long (argc, argv,
- "aA::bBcCd::e:E:f:F:hiI:J::k:lLm:n::N::O:p::P::q::Q::st:Tvw:xyzZ::",
+ "aA::bBcCdD::e:E:f:F:hiI:J::k:lLm:n::N::O:p::P::q::Q::st:Tvw:xyzZ::",
long_options, 0))
!= EOF)
{
@@ -206,6 +208,9 @@ DEFUN (main, (argc, argv), int argc AND char **argv)
printf ("%s: debugging not supported; -d ignored\n", whoami);
#endif /* DEBUG */
break;
+ case 'D':
+ ignore_non_functions = TRUE;
+ break;
case 'E':
sym_id_add (optarg, EXCL_TIME);
case 'e':