2006-06-19 Vladimir Prus <vladimir@codesourcery.com>
[binutils-gdb.git] / gprof / hist.c
index bfa34eebf0839e9e06efb4ab87cab33609afdf34..024f6653e662194638034a85a91a9b7c790901fd 100644 (file)
@@ -1,6 +1,7 @@
 /* hist.c  -  Histogram related operations.
 
-   Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
+   Copyright 1999, 2000, 2001, 2002, 2004, 2005
+   Free Software Foundation, Inc.
 
    This file is part of GNU Binutils.
 
@@ -16,8 +17,8 @@
 
    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., 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA.  */
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+   02110-1301, USA.  */
 \f
 #include "libiberty.h"
 #include "gprof.h"
 
 #define UNITS_TO_CODE (offset_to_code / sizeof(UNIT))
 
-static void scale_and_align_entries PARAMS ((void));
-static void print_header PARAMS ((int));
-static void print_line PARAMS ((Sym *, double));
-static int cmp_time PARAMS ((const PTR, const PTR));
+static void scale_and_align_entries (void);
+static void print_header (int);
+static void print_line (Sym *, double);
+static int cmp_time (const PTR, const PTR);
 
 /* Declarations of automatically generated functions to output blurbs.  */
-extern void flat_blurb PARAMS ((FILE * fp));
+extern void flat_blurb (FILE * fp);
 
 bfd_vma s_lowpc;               /* Lowest address in .text.  */
 bfd_vma s_highpc = 0;          /* Highest address in .text.  */
 bfd_vma lowpc, highpc;         /* Same, but expressed in UNITs.  */
-int hist_num_bins = 0;         /* Number of histogram samples.  */
+unsigned int hist_num_bins = 0;        /* Number of histogram samples.  */
 int *hist_sample = 0;          /* Histogram samples (shorts in the file!).  */
 double hist_scale;
-char hist_dimension[16] = "seconds";
-char hist_dimension_abbrev = 's';
+static char hist_dimension[16] = "seconds";
+static char hist_dimension_abbrev = 's';
 
 static double accum_time;      /* Accumulated time so far for print_line(). */
 static double total_time;      /* Total time for all routines.  */
@@ -80,12 +81,10 @@ SItab[] =
    is provided for formatting error messages only.  */
 
 void
-hist_read_rec (ifp, filename)
-     FILE * ifp;
-     const char *filename;
+hist_read_rec (FILE * ifp, const char *filename)
 {
   bfd_vma n_lowpc, n_highpc;
-  int i, ncnt, profrate;
+  unsigned int i, ncnt, profrate;
   UNIT count;
 
   if (gmon_io_read_vma (ifp, &n_lowpc)
@@ -113,16 +112,16 @@ hist_read_rec (ifp, filename)
     }
 
   DBG (SAMPLEDEBUG,
-       printf ("[hist_read_rec] n_lowpc 0x%lx n_highpc 0x%lx ncnt %d\n",
+       printf ("[hist_read_rec] n_lowpc 0x%lx n_highpc 0x%lx ncnt %u\n",
               (unsigned long) n_lowpc, (unsigned long) n_highpc, ncnt);
-       printf ("[hist_read_rec] s_lowpc 0x%lx s_highpc 0x%lx nsamples %d\n",
+       printf ("[hist_read_rec] s_lowpc 0x%lx s_highpc 0x%lx nsamples %u\n",
               (unsigned long) s_lowpc, (unsigned long) s_highpc,
               hist_num_bins);
        printf ("[hist_read_rec]   lowpc 0x%lx   highpc 0x%lx\n",
               (unsigned long) lowpc, (unsigned long) highpc));
 
   if (n_lowpc != s_lowpc || n_highpc != s_highpc
-      || ncnt != hist_num_bins || hz != profrate)
+      || ncnt != hist_num_bins || hz != (int) profrate)
     {
       fprintf (stderr, _("%s: `%s' is incompatible with first gmon file\n"),
               whoami, filename);
@@ -140,7 +139,7 @@ hist_read_rec (ifp, filename)
       if (fread (&count[0], sizeof (count), 1, ifp) != 1)
        {
          fprintf (stderr,
-                 _("%s: %s: unexpected EOF after reading %d of %d samples\n"),
+                 _("%s: %s: unexpected EOF after reading %u of %u samples\n"),
                   whoami, filename, i, hist_num_bins);
          done (1);
        }
@@ -157,12 +156,10 @@ hist_read_rec (ifp, filename)
    of OFP and is provided for formatting error-messages only.  */
 
 void
-hist_write_hist (ofp, filename)
-     FILE * ofp;
-     const char *filename;
+hist_write_hist (FILE * ofp, const char *filename)
 {
   UNIT count;
-  int i;
+  unsigned int i;
 
   /* Write header.  */
 
@@ -267,8 +264,8 @@ hist_assign_samples ()
   bfd_vma bin_low_pc, bin_high_pc;
   bfd_vma sym_low_pc, sym_high_pc;
   bfd_vma overlap, addr;
-  int bin_count, i;
-  unsigned int j;
+  unsigned int bin_count;
+  unsigned int i, j;
   double time, credit;
 
   /* Read samples and assign to symbols.  */
@@ -289,7 +286,7 @@ hist_assign_samples ()
 
       DBG (SAMPLEDEBUG,
           printf (
-      "[assign_samples] bin_low_pc=0x%lx, bin_high_pc=0x%lx, bin_count=%d\n",
+      "[assign_samples] bin_low_pc=0x%lx, bin_high_pc=0x%lx, bin_count=%u\n",
                    (unsigned long) (sizeof (UNIT) * bin_low_pc),
                    (unsigned long) (sizeof (UNIT) * bin_high_pc),
                    bin_count));
@@ -351,8 +348,7 @@ hist_assign_samples ()
 /* Print header for flag histogram profile.  */
 
 static void
-print_header (prefix)
-     int prefix;
+print_header (int prefix)
 {
   char unit[64];
 
@@ -391,9 +387,7 @@ print_header (prefix)
 
 
 static void
-print_line (sym, scale)
-     Sym *sym;
-     double scale;
+print_line (Sym *sym, double scale)
 {
   if (ignore_zeros && sym->ncalls == 0 && sym->hist.time == 0)
     return;
@@ -430,9 +424,7 @@ print_line (sym, scale)
    lexicographic order of the function names.  */
 
 static int
-cmp_time (lp, rp)
-     const PTR lp;
-     const PTR rp;
+cmp_time (const PTR lp, const PTR rp)
 {
   const Sym *left = *(const Sym **) lp;
   const Sym *right = *(const Sym **) rp;