projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* frags.h: Remove ANSI_PROTOTYPES conditional code.
[deliverable/binutils-gdb.git]
/
gprof
/
basic_blocks.c
diff --git
a/gprof/basic_blocks.c
b/gprof/basic_blocks.c
index 65a662c2058d4a4e128563a1c75999ed6925d9ee..7a0caeaffde63e87c2a5886a788f689c5ead1bf3 100644
(file)
--- a/
gprof/basic_blocks.c
+++ b/
gprof/basic_blocks.c
@@
-2,7
+2,8
@@
of basic-block info to/from gmon.out; computing and formatting of
basic-block related statistics.
of basic-block info to/from gmon.out; computing and formatting of
basic-block related statistics.
- Copyright 2000, 2001 Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2001, 2002, 2004, 2005
+ Free Software Foundation, Inc.
This file is part of GNU Binutils.
This file is part of GNU Binutils.
@@
-18,8
+19,8
@@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 5
9 Temple Place - Suite 330
, Boston, MA
- 0211
1-1307
, USA. */
+ Foundation, Inc., 5
1 Franklin Street - Fifth Floor
, Boston, MA
+ 0211
0-1301
, USA. */
\f
#include "libiberty.h"
#include "gprof.h"
\f
#include "libiberty.h"
#include "gprof.h"
@@
-32,8
+33,13
@@
#include "symtab.h"
#include "sym_ids.h"
#include "symtab.h"
#include "sym_ids.h"
+static int cmp_bb (const PTR, const PTR);
+static int cmp_ncalls (const PTR, const PTR);
+static void fskip_string (FILE *);
+static void annotate_with_count (char *, unsigned int, int, PTR);
+
/* Default option values: */
/* Default option values: */
-b
ool
bb_annotate_all_lines = FALSE;
+b
fd_boolean
bb_annotate_all_lines = FALSE;
unsigned long bb_min_calls = 1;
int bb_table_length = 10;
unsigned long bb_min_calls = 1;
int bb_table_length = 10;
@@
-47,7
+53,7
@@
static long num_lines_executed;
number, and address (in that order). */
static int
number, and address (in that order). */
static int
-
DEFUN (cmp_bb, (lp, rp), const void *lp AND const void *
rp)
+
cmp_bb (const PTR lp, const PTR
rp)
{
int r;
const Sym *left = *(const Sym **) lp;
{
int r;
const Sym *left = *(const Sym **) lp;
@@
-76,7
+82,7
@@
DEFUN (cmp_bb, (lp, rp), const void *lp AND const void *rp)
/* Helper for sorting. Order basic blocks in decreasing number of
calls, ties are broken in increasing order of line numbers. */
static int
/* Helper for sorting. Order basic blocks in decreasing number of
calls, ties are broken in increasing order of line numbers. */
static int
-
DEFUN (cmp_ncalls, (lp, rp), const void *lp AND const void *
rp)
+
cmp_ncalls (const PTR lp, const PTR
rp)
{
const Sym *left = *(const Sym **) lp;
const Sym *right = *(const Sym **) rp;
{
const Sym *left = *(const Sym **) lp;
const Sym *right = *(const Sym **) rp;
@@
-96,7
+102,7
@@
DEFUN (cmp_ncalls, (lp, rp), const void *lp AND const void *rp)
/* Skip over variable length string. */
static void
/* Skip over variable length string. */
static void
-
DEFUN (fskip_string, (fp), FILE *
fp)
+
fskip_string (FILE *
fp)
{
int ch;
{
int ch;
@@
-111,9
+117,9
@@
DEFUN (fskip_string, (fp), FILE * fp)
of file IFP and is provided for formatting error-messages only. */
void
of file IFP and is provided for formatting error-messages only. */
void
-
DEFUN (bb_read_rec, (ifp, filename), FILE * ifp AND
const char *filename)
+
bb_read_rec (FILE *ifp,
const char *filename)
{
{
- int nblocks, b;
+
unsigned
int nblocks, b;
bfd_vma addr, ncalls;
Sym *sym;
bfd_vma addr, ncalls;
Sym *sym;
@@
-181,7
+187,7
@@
DEFUN (bb_read_rec, (ifp, filename), FILE * ifp AND const char *filename)
}
else
{
}
else
{
- static b
ool
user_warned = FALSE;
+ static b
fd_boolean
user_warned = FALSE;
if (!user_warned)
{
if (!user_warned)
{
@@
-199,9
+205,9
@@
DEFUN (bb_read_rec, (ifp, filename), FILE * ifp AND const char *filename)
is the name of OFP and is provided for producing error-messages
only. */
void
is the name of OFP and is provided for producing error-messages
only. */
void
-
DEFUN (bb_write_blocks, (ofp, filename), FILE * ofp AND
const char *filename)
+
bb_write_blocks (FILE *ofp,
const char *filename)
{
{
- int nblocks = 0;
+
unsigned
int nblocks = 0;
Sym *sym;
int i;
Sym *sym;
int i;
@@
-227,7
+233,7
@@
DEFUN (bb_write_blocks, (ofp, filename), FILE * ofp AND const char *filename)
for (i = 0; i < NBBS && sym->bb_addr[i]; i++)
{
if (gmon_io_write_vma (ofp, sym->bb_addr[i])
for (i = 0; i < NBBS && sym->bb_addr[i]; i++)
{
if (gmon_io_write_vma (ofp, sym->bb_addr[i])
- || gmon_io_write_vma (ofp, sym->bb_calls[i]))
+ || gmon_io_write_vma (ofp,
(bfd_vma)
sym->bb_calls[i]))
{
perror (filename);
done (1);
{
perror (filename);
done (1);
@@
-242,10
+248,10
@@
DEFUN (bb_write_blocks, (ofp, filename), FILE * ofp AND const char *filename)
<filename>:<line-number>: (<function-name>:<bb-addr): <ncalls> */
void
<filename>:<line-number>: (<function-name>:<bb-addr): <ncalls> */
void
-
DEFUN_VOID (print_exec_counts
)
+
print_exec_counts (
)
{
Sym **sorted_bbs, *sym;
{
Sym **sorted_bbs, *sym;
- int i, j, len;
+
unsigned
int i, j, len;
if (first_output)
first_output = FALSE;
if (first_output)
first_output = FALSE;
@@
-275,6
+281,8
@@
DEFUN_VOID (print_exec_counts)
for (i = 0; i < len; ++i)
{
for (i = 0; i < len; ++i)
{
+ sym = sorted_bbs [i];
+
if (sym->ncalls > 0 || ! ignore_zeros)
{
/* FIXME: This only works if bfd_vma is unsigned long. */
if (sym->ncalls > 0 || ! ignore_zeros)
{
/* FIXME: This only works if bfd_vma is unsigned long. */
@@
-309,12
+317,11
@@
DEFUN_VOID (print_exec_counts)
that starts the basic-block. */
static void
that starts the basic-block. */
static void
-DEFUN (annotate_with_count, (buf, width, line_num, arg),
- char *buf AND int width AND int line_num AND void *arg)
+annotate_with_count (char *buf, unsigned int width, int line_num, PTR arg)
{
Source_File *sf = arg;
Sym *b;
{
Source_File *sf = arg;
Sym *b;
- int i;
+
unsigned
int i;
static unsigned long last_count;
unsigned long last_print = (unsigned long) -1;
static unsigned long last_count;
unsigned long last_print = (unsigned long) -1;
@@
-335,7
+342,7
@@
DEFUN (annotate_with_count, (buf, width, line_num, arg),
char *p;
unsigned long ncalls;
int ncalls_set;
char *p;
unsigned long ncalls;
int ncalls_set;
- int len;
+
unsigned
int len;
++num_executable_lines;
++num_executable_lines;
@@
-411,7
+418,7
@@
DEFUN (annotate_with_count, (buf, width, line_num, arg),
if (! ncalls_set)
{
if (! ncalls_set)
{
- int c;
+
unsigned
int c;
for (c = 0; c < width; c++)
buf[c] = ' ';
for (c = 0; c < width; c++)
buf[c] = ' ';
@@
-438,7
+445,7
@@
DEFUN (annotate_with_count, (buf, width, line_num, arg),
}
else
{
}
else
{
- int c;
+
unsigned
int c;
strcpy (buf + width - len, tmpbuf);
for (c = 0; c < width - len; ++c)
strcpy (buf + width - len, tmpbuf);
for (c = 0; c < width - len; ++c)
@@
-452,7
+459,7
@@
DEFUN (annotate_with_count, (buf, width, line_num, arg),
regarding that source file are printed. */
void
regarding that source file are printed. */
void
-
DEFUN_VOID (print_annotated_source
)
+
print_annotated_source (
)
{
Sym *sym, *line_stats, *new_line;
Source_File *sf;
{
Sym *sym, *line_stats, *new_line;
Source_File *sf;
This page took
0.026628 seconds
and
4
git commands to generate.