mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-20 09:58:19 +08:00
* 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.
This commit is contained in:
@ -1,3 +1,13 @@
|
|||||||
|
Sun Dec 24 21:32:27 1995 Jeffrey A Law (law@cygnus.com)
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
Tue Nov 21 13:24:39 1995 Ken Raeburn <raeburn@cygnus.com>
|
Tue Nov 21 13:24:39 1995 Ken Raeburn <raeburn@cygnus.com>
|
||||||
|
|
||||||
* Makefile.in (.m.c): Strip out directory name from function
|
* Makefile.in (.m.c): Strip out directory name from function
|
||||||
|
@ -179,6 +179,12 @@ DEFUN (core_sym_class, (sym), asymbol * sym)
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If the object file supports marking of function symbols, then we can
|
||||||
|
zap anything that doesn't have BSF_FUNCTION set. */
|
||||||
|
if (ignore_non_functions && (sym->flags & BSF_FUNCTION) == 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
return 't'; /* it's a static text symbol */
|
return 't'; /* it's a static text symbol */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +50,7 @@ bool ignore_zeros = TRUE;
|
|||||||
bool line_granularity = FALSE;
|
bool line_granularity = FALSE;
|
||||||
bool print_descriptions = TRUE;
|
bool print_descriptions = TRUE;
|
||||||
bool print_path = FALSE;
|
bool print_path = FALSE;
|
||||||
|
bool ignore_non_functions = FALSE;
|
||||||
File_Format file_format = FF_AUTO;
|
File_Format file_format = FF_AUTO;
|
||||||
|
|
||||||
bool first_output = TRUE;
|
bool first_output = TRUE;
|
||||||
@ -76,6 +77,7 @@ static struct option long_options[] =
|
|||||||
{
|
{
|
||||||
{"line", no_argument, 0, 'l'},
|
{"line", no_argument, 0, 'l'},
|
||||||
{"no-static", no_argument, 0, 'a'},
|
{"no-static", no_argument, 0, 'a'},
|
||||||
|
{"ignore-non-functions", no_argument, 0, 'D'},
|
||||||
|
|
||||||
/* output styles: */
|
/* output styles: */
|
||||||
|
|
||||||
@ -129,7 +131,7 @@ static void
|
|||||||
DEFUN (usage, (stream, status), FILE * stream AND int status)
|
DEFUN (usage, (stream, status), FILE * stream AND int status)
|
||||||
{
|
{
|
||||||
fprintf (stream, "\
|
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\
|
[-d[num]] [-k from/to] [-m min-count] [-t table-length]\n\
|
||||||
[--[no-]annotated-source[=name]] [--[no-]exec-counts[=name]]\n\
|
[--[no-]annotated-source[=name]] [--[no-]exec-counts[=name]]\n\
|
||||||
[--[no-]flat-profile[=name]] [--[no-]graph[=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\
|
[--file-format=name] [--file-info] [--help] [--line] [--min-count=n]\n\
|
||||||
[--no-static] [--print-path] [--separate-files]\n\
|
[--no-static] [--print-path] [--separate-files]\n\
|
||||||
[--static-call-graph] [--sum] [--table-length=len] [--traditional]\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",
|
[image-file] [profile-file...]\n",
|
||||||
whoami);
|
whoami);
|
||||||
done (status);
|
done (status);
|
||||||
@ -156,7 +158,7 @@ DEFUN (main, (argc, argv), int argc AND char **argv)
|
|||||||
xmalloc_set_program_name (whoami);
|
xmalloc_set_program_name (whoami);
|
||||||
|
|
||||||
while ((ch = getopt_long (argc, argv,
|
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))
|
long_options, 0))
|
||||||
!= EOF)
|
!= EOF)
|
||||||
{
|
{
|
||||||
@ -206,6 +208,9 @@ DEFUN (main, (argc, argv), int argc AND char **argv)
|
|||||||
printf ("%s: debugging not supported; -d ignored\n", whoami);
|
printf ("%s: debugging not supported; -d ignored\n", whoami);
|
||||||
#endif /* DEBUG */
|
#endif /* DEBUG */
|
||||||
break;
|
break;
|
||||||
|
case 'D':
|
||||||
|
ignore_non_functions = TRUE;
|
||||||
|
break;
|
||||||
case 'E':
|
case 'E':
|
||||||
sym_id_add (optarg, EXCL_TIME);
|
sym_id_add (optarg, EXCL_TIME);
|
||||||
case 'e':
|
case 'e':
|
||||||
|
@ -128,6 +128,8 @@ extern bool ignore_zeros; /* ignore unused symbols/files */
|
|||||||
extern bool line_granularity; /* function or line granularity? */
|
extern bool line_granularity; /* function or line granularity? */
|
||||||
extern bool print_descriptions; /* output profile description */
|
extern bool print_descriptions; /* output profile description */
|
||||||
extern bool print_path; /* print path or just filename? */
|
extern bool print_path; /* print path or just filename? */
|
||||||
|
extern bool ignore_non_functions;/* Ignore non-function symbols. */
|
||||||
|
|
||||||
extern File_Format file_format; /* requested file format */
|
extern File_Format file_format; /* requested file format */
|
||||||
|
|
||||||
extern bool first_output; /* no output so far? */
|
extern bool first_output; /* no output so far? */
|
||||||
|
@ -294,6 +294,12 @@ function that was loaded directly before it in the executable file.
|
|||||||
@c This is compatible with Unix @code{gprof}, but a bad idea.
|
@c This is compatible with Unix @code{gprof}, but a bad idea.
|
||||||
This option affects both the flat profile and the call graph.
|
This option affects both the flat profile and the call graph.
|
||||||
|
|
||||||
|
@item -D
|
||||||
|
The @samp{-D} option causes @code{gprof} to ignore symbols which
|
||||||
|
are not known to be functions. This option will give more accurate
|
||||||
|
profile data on systems where it is supported (Solaris and HPUX for
|
||||||
|
example).
|
||||||
|
|
||||||
@item -e @var{function_name}
|
@item -e @var{function_name}
|
||||||
The @samp{-e @var{function}} option tells @code{gprof} to not print
|
The @samp{-e @var{function}} option tells @code{gprof} to not print
|
||||||
information about the function @var{function_name} (and its
|
information about the function @var{function_name} (and its
|
||||||
|
Reference in New Issue
Block a user