* alpha.c (alpha_find_call): Warning fixes.
authorAlan Modra <amodra@gmail.com>
Fri, 1 Feb 2002 08:24:16 +0000 (08:24 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 1 Feb 2002 08:24:16 +0000 (08:24 +0000)
* mips.c (mips_find_call): Likewise.
* sparc.c (sparc_find_call): Likewise.
* basic_blocks.c: Warning fixes.  Eliminate DEFUN.
* call_graph.c: Likewise.
* cg_arcs.c: Likewise.
* cg_dfn.cp: Likewise.
* gprof.c: Likewise.
* gprof.h: Likewise.
* hist.c: Likewise.
* search_list.c: Likewise.
* source.c: Likewise.
* source.h: Likewise.
* sym_ids.c: Likewise.
* symtab.c: Likewise.
* symtab.h: Likewise.
* utils.c: Likewise.
* cg_print.c: Likewise.
(struct function_map, symbol_map, symbol_map_count): Move
declaration to..
* corefile: ..here.
* corefile.c: Warning fixes.  Eliminate DEFUN.
(struct function_map): Remove declaration.
* gmon_io.c: Warning fixes.  Eliminate DEFUN.
(gmon_io_read_64): Make static.
(gmon_io_write_64): Likewise.
(gmon_read_raw_arc): Likewise.
(gmon_write_raw_arc): Likewise.
(gmon_io_write_8): Don't pass char, pass int param.
* gmon_io.h (gmon_io_write_8): Likewise.

and a few copyright dates that should have been done previously.

25 files changed:
gprof/ChangeLog
gprof/alpha.c
gprof/basic_blocks.c
gprof/basic_blocks.h
gprof/call_graph.c
gprof/cg_arcs.c
gprof/cg_dfn.c
gprof/cg_print.c
gprof/corefile.c
gprof/corefile.h
gprof/gmon_io.c
gprof/gmon_io.h
gprof/gprof.c
gprof/gprof.h
gprof/hist.c
gprof/mips.c
gprof/search_list.c
gprof/source.c
gprof/source.h
gprof/sparc.c
gprof/sym_ids.c
gprof/sym_ids.h
gprof/symtab.c
gprof/symtab.h
gprof/utils.c

index 97577a556e3a6f205d7f56a7666cfb1aa462a915..89df97fe4c22052355519cbc32df54f81ecdd702 100644 (file)
@@ -1,5 +1,36 @@
 2002-02-01  Alan Modra  <amodra@bigpond.net.au>
 
+       * alpha.c (alpha_find_call): Warning fixes.
+       * mips.c (mips_find_call): Likewise.
+       * sparc.c (sparc_find_call): Likewise.
+       * basic_blocks.c: Warning fixes.  Eliminate DEFUN.
+       * call_graph.c: Likewise.
+       * cg_arcs.c: Likewise.
+       * cg_dfn.cp: Likewise.
+       * gprof.c: Likewise.
+       * gprof.h: Likewise.
+       * hist.c: Likewise.
+       * search_list.c: Likewise.
+       * source.c: Likewise.
+       * source.h: Likewise.
+       * sym_ids.c: Likewise.
+       * symtab.c: Likewise.
+       * symtab.h: Likewise.
+       * utils.c: Likewise.
+       * cg_print.c: Likewise.
+       (struct function_map, symbol_map, symbol_map_count): Move
+       declaration to..
+       * corefile: ..here.
+       * corefile.c: Warning fixes.  Eliminate DEFUN.
+       (struct function_map): Remove declaration.
+       * gmon_io.c: Warning fixes.  Eliminate DEFUN.
+       (gmon_io_read_64): Make static.
+       (gmon_io_write_64): Likewise.
+       (gmon_read_raw_arc): Likewise.
+       (gmon_write_raw_arc): Likewise.
+       (gmon_io_write_8): Don't pass char, pass int param.
+       * gmon_io.h (gmon_io_write_8): Likewise.
+
        * Makefile.am: Run "make dep-am"
        * Makefile.in: Regenerate.
 
index 978f2abac03745b103f822dda11f93578e1e0b75..bcb4d9dd77a5916c4021bec18828f6e05273ea10 100644 (file)
@@ -84,7 +84,7 @@ alpha_find_call (parent, p_lowpc, p_highpc)
      bfd_vma p_highpc;
 {
   bfd_vma pc, dest_pc;
-  unsigned long insn;
+  unsigned int insn;
   Sym *child;
 
   if (indirect_child.name == NULL)
@@ -110,7 +110,7 @@ alpha_find_call (parent, p_lowpc, p_highpc)
   DBG (CALLDEBUG, printf (_("[find_call] %s: 0x%lx to 0x%lx\n"),
                          parent->name, (unsigned long) p_lowpc,
                          (unsigned long) p_highpc));
-  for (pc = (p_lowpc + 3) & ~3; pc < p_highpc; pc += 4)
+  for (pc = (p_lowpc + 3) & ~(bfd_vma) 3; pc < p_highpc; pc += 4)
     {
       insn = bfd_get_32 (core_bfd, ((unsigned char *) core_text_space
                                    + pc - core_text_sect->vma));
index d1bd3f030498de035e2cefe06fb1b25665d94d42..74f29a0eb197f2802949c4abfc49a7c68f875915 100644 (file)
@@ -2,7 +2,7 @@
    of basic-block info to/from gmon.out; computing and formatting of
    basic-block related statistics.
 
-   Copyright 2000, 2001 Free Software Foundation, Inc.
+   Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
 
    This file is part of GNU Binutils.
 
 #include "symtab.h"
 #include "sym_ids.h"
 
+static int cmp_bb PARAMS ((const PTR, const PTR));
+static int cmp_ncalls PARAMS ((const PTR, const PTR));
+static void fskip_string PARAMS ((FILE *));
+static void annotate_with_count PARAMS ((char *, unsigned int, int, PTR));
+
 /* Default option values:  */
 boolean bb_annotate_all_lines = false;
 unsigned long bb_min_calls = 1;
@@ -47,7 +52,9 @@ static long num_lines_executed;
    number, and address (in that order).  */
 
 static int
-DEFUN (cmp_bb, (lp, rp), const void *lp AND const void *rp)
+cmp_bb (lp, rp)
+     const PTR lp;
+     const PTR rp;
 {
   int r;
   const Sym *left = *(const Sym **) lp;
@@ -76,7 +83,9 @@ 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
-DEFUN (cmp_ncalls, (lp, rp), const void *lp AND const void *rp)
+cmp_ncalls (lp, rp)
+     const PTR lp;
+     const PTR rp;
 {
   const Sym *left = *(const Sym **) lp;
   const Sym *right = *(const Sym **) rp;
@@ -96,7 +105,8 @@ DEFUN (cmp_ncalls, (lp, rp), const void *lp AND const void *rp)
 
 /* Skip over variable length string.  */
 static void
-DEFUN (fskip_string, (fp), FILE * fp)
+fskip_string (fp)
+     FILE *fp;
 {
   int ch;
 
@@ -111,7 +121,9 @@ DEFUN (fskip_string, (fp), FILE * fp)
    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 (ifp, filename)
+     FILE *ifp;
+     const char *filename;
 {
   int nblocks, b;
   bfd_vma addr, ncalls;
@@ -199,9 +211,11 @@ 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
-DEFUN (bb_write_blocks, (ofp, filename), FILE * ofp AND const char *filename)
+bb_write_blocks (ofp, filename)
+     FILE *ofp;
+     const char *filename;
 {
-  int nblocks = 0;
+  unsigned int nblocks = 0;
   Sym *sym;
   int i;
 
@@ -227,7 +241,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])
-             || gmon_io_write_vma (ofp, sym->bb_calls[i]))
+             || gmon_io_write_vma (ofp, (bfd_vma) sym->bb_calls[i]))
            {
              perror (filename);
              done (1);
@@ -242,10 +256,10 @@ DEFUN (bb_write_blocks, (ofp, filename), FILE * ofp AND const char *filename)
        <filename>:<line-number>: (<function-name>:<bb-addr): <ncalls>  */
 
 void
-DEFUN_VOID (print_exec_counts)
+print_exec_counts ()
 {
   Sym **sorted_bbs, *sym;
-  int i, j, len;
+  unsigned int i, j, len;
 
   if (first_output)
     first_output = false;
@@ -309,12 +323,15 @@ DEFUN_VOID (print_exec_counts)
    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 (buf, width, line_num, arg)
+     char *buf;
+     unsigned int width;
+     int line_num;
+     PTR arg;
 {
   Source_File *sf = arg;
   Sym *b;
-  int i;
+  unsigned int i;
   static unsigned long last_count;
   unsigned long last_print = (unsigned long) -1;
 
@@ -335,7 +352,7 @@ DEFUN (annotate_with_count, (buf, width, line_num, arg),
       char *p;
       unsigned long ncalls;
       int ncalls_set;
-      int len;
+      unsigned int len;
 
       ++num_executable_lines;
 
@@ -411,7 +428,7 @@ DEFUN (annotate_with_count, (buf, width, line_num, arg),
 
       if (! ncalls_set)
        {
-         int c;
+         unsigned int c;
 
          for (c = 0; c < width; c++)
            buf[c] = ' ';
@@ -438,7 +455,7 @@ DEFUN (annotate_with_count, (buf, width, line_num, arg),
        }
       else
        {
-         int c;
+         unsigned int c;
 
          strcpy (buf + width - len, tmpbuf);
          for (c = 0; c < width - len; ++c)
@@ -452,7 +469,7 @@ DEFUN (annotate_with_count, (buf, width, line_num, arg),
    regarding that source file are printed.  */
 
 void
-DEFUN_VOID (print_annotated_source)
+print_annotated_source ()
 {
   Sym *sym, *line_stats, *new_line;
   Source_File *sf;
index cc240928c22af47088985348122df28497f605a8..70a65bb764a2c0c8336e4f619232a18cbd5a933d 100644 (file)
@@ -1,5 +1,5 @@
 /* basic_blocks.h
-   Copyright 2000 Free Software Foundation, Inc.
+   Copyright 2000, 2002 Free Software Foundation, Inc.
 
 This file is part of GNU Binutils.
 
index 20977f989f41b9f14f9ab586de4cd784ddaa3161..e798a0e18975890298a70f06121d572ce76dbe9b 100644 (file)
@@ -1,6 +1,6 @@
 /* call_graph.c  -  Create call graphs.
 
-   Copyright 2000, 2001 Free Software Foundation, Inc.
+   Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
 
    This file is part of GNU Binutils.
 
 #include "gmon_out.h"
 #include "sym_ids.h"
 
-extern void
-DEFUN (cg_tally, (from_pc, self_pc, count),
-       bfd_vma from_pc AND bfd_vma self_pc AND unsigned long count)
+void
+cg_tally (from_pc, self_pc, count)
+     bfd_vma from_pc;
+     bfd_vma self_pc;
+     unsigned long count;
 {
   Sym *parent;
   Sym *child;
@@ -78,7 +80,9 @@ DEFUN (cg_tally, (from_pc, self_pc, count),
    for formatting error-messages only.  */
 
 void
-DEFUN (cg_read_rec, (ifp, filename), FILE * ifp AND CONST char *filename)
+cg_read_rec (ifp, filename)
+     FILE *ifp;
+     const char *filename;
 {
   bfd_vma from_pc, self_pc;
   unsigned int count;
@@ -105,7 +109,9 @@ DEFUN (cg_read_rec, (ifp, filename), FILE * ifp AND CONST char *filename)
    only.  */
 
 void
-DEFUN (cg_write_arcs, (ofp, filename), FILE * ofp AND const char *filename)
+cg_write_arcs (ofp, filename)
+     FILE *ofp;
+     const char *filename;
 {
   Arc *arc;
   Sym *sym;
index 8ebaa7f8f095e92e04848221566f7e661cc2ba93..f663954437998272b25a0611770ac6c89c9a1178 100644 (file)
 #include "utils.h"
 #include "sym_ids.h"
 
+static int cmp_topo PARAMS ((const PTR, const PTR));
+static void propagate_time PARAMS ((Sym *));
+static void cycle_time PARAMS ((void));
+static void cycle_link PARAMS ((void));
+static void inherit_flags PARAMS ((Sym *));
+static void propagate_flags PARAMS ((Sym **));
+static int cmp_total PARAMS ((const PTR, const PTR));
+
 Sym *cycle_header;
 unsigned int num_cycles;
 Arc **arcs;
@@ -38,7 +46,9 @@ unsigned int numarcs;
  * range covered by CHILD.
  */
 Arc *
-DEFUN (arc_lookup, (parent, child), Sym * parent AND Sym * child)
+arc_lookup (parent, child)
+     Sym *parent;
+     Sym *child;
 {
   Arc *arc;
 
@@ -67,8 +77,10 @@ DEFUN (arc_lookup, (parent, child), Sym * parent AND Sym * child)
  * Add (or just increment) an arc:
  */
 void
-DEFUN (arc_add, (parent, child, count),
-       Sym * parent AND Sym * child AND unsigned long count)
+arc_add (parent, child, count)
+     Sym *parent;
+     Sym *child;
+     unsigned long count;
 {
   static unsigned int maxarcs = 0;
   Arc *arc, **newarcs;
@@ -134,7 +146,9 @@ DEFUN (arc_add, (parent, child, count),
 
 
 static int
-DEFUN (cmp_topo, (lp, rp), const PTR lp AND const PTR rp)
+cmp_topo (lp, rp)
+     const PTR lp;
+     const PTR rp;
 {
   const Sym *left = *(const Sym **) lp;
   const Sym *right = *(const Sym **) rp;
@@ -144,7 +158,8 @@ DEFUN (cmp_topo, (lp, rp), const PTR lp AND const PTR rp)
 
 
 static void
-DEFUN (propagate_time, (parent), Sym * parent)
+propagate_time (parent)
+     Sym *parent;
 {
   Arc *arc;
   Sym *child;
@@ -228,7 +243,7 @@ DEFUN (propagate_time, (parent), Sym * parent)
  * its members.
  */
 static void
-DEFUN_VOID (cycle_time)
+cycle_time ()
 {
   Sym *member, *cyc;
 
@@ -252,7 +267,7 @@ DEFUN_VOID (cycle_time)
 
 
 static void
-DEFUN_VOID (cycle_link)
+cycle_link ()
 {
   Sym *sym, *cyc, *member;
   Arc *arc;
@@ -340,7 +355,8 @@ DEFUN_VOID (cycle_link)
  * fractions from parents.
  */
 static void
-DEFUN (inherit_flags, (child), Sym * child)
+inherit_flags (child)
+     Sym *child;
 {
   Sym *head, *parent, *member;
   Arc *arc;
@@ -418,7 +434,8 @@ DEFUN (inherit_flags, (child), Sym * child)
  * and while we're here, sum time for functions.
  */
 static void
-DEFUN (propagate_flags, (symbols), Sym ** symbols)
+propagate_flags (symbols)
+     Sym **symbols;
 {
   int index;
   Sym *old_head, *child;
@@ -518,7 +535,9 @@ DEFUN (propagate_flags, (symbols), Sym ** symbols)
  * first.  All else being equal, compare by names.
  */
 static int
-DEFUN (cmp_total, (lp, rp), const PTR lp AND const PTR rp)
+cmp_total (lp, rp)
+     const PTR lp;
+     const PTR rp;
 {
   const Sym *left = *(const Sym **) lp;
   const Sym *right = *(const Sym **) rp;
@@ -575,7 +594,7 @@ DEFUN (cmp_total, (lp, rp), const PTR lp AND const PTR rp)
  * time bottom up and flags top down.
  */
 Sym **
-DEFUN_VOID (cg_assemble)
+cg_assemble ()
 {
   Sym *parent, **time_sorted_syms, **top_sorted_syms;
   unsigned int index;
index ace8328d1411f0616df11dfdef3ed149574addd6..463f22e5d25b8ca386485f46ec8d8768c19c7d47 100644 (file)
@@ -34,6 +34,12 @@ typedef struct
   }
 DFN_Stack;
 
+static boolean is_numbered PARAMS ((Sym *));
+static boolean is_busy PARAMS ((Sym *));
+static void find_cycle PARAMS ((Sym *));
+static void pre_visit PARAMS ((Sym *));
+static void post_visit PARAMS ((Sym *));
+
 DFN_Stack *dfn_stack = NULL;
 int dfn_maxdepth = 0;
 int dfn_depth = 0;
@@ -44,7 +50,8 @@ int dfn_counter = DFN_NAN;
  * Is CHILD already numbered?
  */
 static boolean
-DEFUN (is_numbered, (child), Sym * child)
+is_numbered (child)
+     Sym *child;
 {
   return child->cg.top_order != DFN_NAN && child->cg.top_order != DFN_BUSY;
 }
@@ -54,7 +61,8 @@ DEFUN (is_numbered, (child), Sym * child)
  * Is CHILD already busy?
  */
 static boolean
-DEFUN (is_busy, (child), Sym * child)
+is_busy (child)
+     Sym *child;
 {
   if (child->cg.top_order == DFN_NAN)
     {
@@ -71,7 +79,8 @@ DEFUN (is_busy, (child), Sym * child)
  * depth-first number).
  */
 static void
-DEFUN (find_cycle, (child), Sym * child)
+find_cycle (child)
+     Sym *child;
 {
   Sym *head = 0;
   Sym *tail;
@@ -194,7 +203,8 @@ DEFUN (find_cycle, (child), Sym * child)
  * the stack and mark it busy.
  */
 static void
-DEFUN (pre_visit, (parent), Sym * parent)
+pre_visit (parent)
+     Sym *parent;
 {
   ++dfn_depth;
 
@@ -218,7 +228,8 @@ DEFUN (pre_visit, (parent), Sym * parent)
  * and number functions if PARENT is head of a cycle.
  */
 static void
-DEFUN (post_visit, (parent), Sym * parent)
+post_visit (parent)
+     Sym *parent;
 {
   Sym *member;
 
@@ -252,7 +263,8 @@ DEFUN (post_visit, (parent), Sym * parent)
  * Given this PARENT, depth first number its children.
  */
 void
-DEFUN (cg_dfn, (parent), Sym * parent)
+cg_dfn (parent)
+     Sym *parent;
 {
   Arc *arc;
 
index 260a8765d93c41d7189b62ddea73c23e967bef81..4aa445b48a8c310f515e55caac802975b08797c0 100644 (file)
 #include "cg_print.h"
 #include "hist.h"
 #include "utils.h"
+#include "corefile.h"
 
 /* Return value of comparison functions used to sort tables.  */
 #define        LESSTHAN        -1
 #define        EQUALTO         0
 #define        GREATERTHAN     1
 
-static void order_and_dump_functions_by_arcs PARAMS ((Arc **, unsigned long,
-                                                     int, Arc **,
-                                                     unsigned long *));
+static void print_header PARAMS ((void));
+static void print_cycle PARAMS ((Sym *));
+static int cmp_member PARAMS ((Sym *, Sym *));
+static void sort_members PARAMS ((Sym *));
+static void print_members PARAMS ((Sym *));
+static int cmp_arc PARAMS ((Arc *, Arc *));
+static void sort_parents PARAMS ((Sym *));
+static void print_parents PARAMS ((Sym *));
+static void sort_children PARAMS ((Sym *));
+static void print_children PARAMS ((Sym *));
+static void print_line PARAMS ((Sym *));
+static int cmp_name PARAMS ((const PTR, const PTR));
+static int cmp_arc_count PARAMS ((const PTR, const PTR));
+static int cmp_fun_nuses PARAMS ((const PTR, const PTR));
+static void order_and_dump_functions_by_arcs
+  PARAMS ((Arc **, unsigned long, int, Arc **, unsigned long *));
+
 /* Declarations of automatically generated functions to output blurbs.  */
 extern void bsd_callg_blurb PARAMS ((FILE * fp));
 extern void fsf_callg_blurb PARAMS ((FILE * fp));
@@ -45,7 +60,7 @@ double print_time = 0.0;
 
 
 static void
-DEFUN_VOID (print_header)
+print_header ()
 {
   if (first_output)
     first_output = false;
@@ -94,7 +109,8 @@ DEFUN_VOID (print_header)
 /* Print a cycle header.  */
 
 static void
-DEFUN (print_cycle, (cyc), Sym * cyc)
+print_cycle (cyc)
+     Sym *cyc;
 {
   char buf[BUFSIZ];
 
@@ -117,7 +133,9 @@ DEFUN (print_cycle, (cyc), Sym * cyc)
    CG.PROP.SELF+CG.PROP.CHILD, secondary key is NCALLS+CG.SELF_CALLS.  */
 
 static int
-DEFUN (cmp_member, (left, right), Sym * left AND Sym * right)
+cmp_member (left, right)
+     Sym *left;
+     Sym *right;
 {
   double left_time = left->cg.prop.self + left->cg.prop.child;
   double right_time = right->cg.prop.self + right->cg.prop.child;
@@ -142,7 +160,8 @@ DEFUN (cmp_member, (left, right), Sym * left AND Sym * right)
 /* Sort members of a cycle.  */
 
 static void
-DEFUN (sort_members, (cyc), Sym * cyc)
+sort_members (cyc)
+     Sym *cyc;
 {
   Sym *todo, *doing, *prev;
 
@@ -169,7 +188,8 @@ DEFUN (sort_members, (cyc), Sym * cyc)
 /* Print the members of a cycle.  */
 
 static void
-DEFUN (print_members, (cyc), Sym * cyc)
+print_members (cyc)
+     Sym *cyc;
 {
   Sym *member;
 
@@ -203,7 +223,9 @@ DEFUN (print_members, (cyc), Sym * cyc)
                arc count as minor key.  */
 
 static int
-DEFUN (cmp_arc, (left, right), Arc * left AND Arc * right)
+cmp_arc (left, right)
+     Arc *left;
+     Arc *right;
 {
   Sym *left_parent = left->parent;
   Sym *left_child = left->child;
@@ -289,7 +311,8 @@ DEFUN (cmp_arc, (left, right), Arc * left AND Arc * right)
 
 
 static void
-DEFUN (sort_parents, (child), Sym * child)
+sort_parents (child)
+     Sym * child;
 {
   Arc *arc, *detached, sorted, *prev;
 
@@ -322,7 +345,8 @@ DEFUN (sort_parents, (child), Sym * child)
 
 
 static void
-DEFUN (print_parents, (child), Sym * child)
+print_parents (child)
+     Sym *child;
 {
   Sym *parent;
   Arc *arc;
@@ -376,7 +400,8 @@ DEFUN (print_parents, (child), Sym * child)
 
 
 static void
-DEFUN (sort_children, (parent), Sym * parent)
+sort_children (parent)
+     Sym *parent;
 {
   Arc *arc, *detached, sorted, *prev;
 
@@ -409,7 +434,8 @@ DEFUN (sort_children, (parent), Sym * parent)
 
 
 static void
-DEFUN (print_children, (parent), Sym * parent)
+print_children (parent)
+     Sym *parent;
 {
   Sym *child;
   Arc *arc;
@@ -448,7 +474,8 @@ DEFUN (print_children, (parent), Sym * parent)
 
 
 static void
-DEFUN (print_line, (np), Sym * np)
+print_line (np)
+     Sym *np;
 {
   char buf[BUFSIZ];
 
@@ -481,7 +508,8 @@ DEFUN (print_line, (np), Sym * np)
 /* Print dynamic call graph.  */
 
 void
-DEFUN (cg_print, (timesortsym), Sym ** timesortsym)
+cg_print (timesortsym)
+     Sym ** timesortsym;
 {
   unsigned int index;
   Sym *parent;
@@ -532,7 +560,9 @@ DEFUN (cg_print, (timesortsym), Sym ** timesortsym)
 
 
 static int
-DEFUN (cmp_name, (left, right), const PTR left AND const PTR right)
+cmp_name (left, right)
+     const PTR left;
+     const PTR right;
 {
   const Sym **npp1 = (const Sym **) left;
   const Sym **npp2 = (const Sym **) right;
@@ -542,7 +572,7 @@ DEFUN (cmp_name, (left, right), const PTR left AND const PTR right)
 
 
 void
-DEFUN_VOID (cg_print_index)
+cg_print_index ()
 {
   unsigned int index;
   unsigned int nnames, todo, i, j;
@@ -656,7 +686,9 @@ DEFUN_VOID (cg_print_index)
    We want to sort in descending order.  */
 
 static int
-DEFUN (cmp_arc_count, (left, right), const PTR left AND const PTR right)
+cmp_arc_count (left, right)
+     const PTR left;
+     const PTR right;
 {
   const Arc **npp1 = (const Arc **) left;
   const Arc **npp2 = (const Arc **) right;
@@ -673,7 +705,9 @@ DEFUN (cmp_arc_count, (left, right), const PTR left AND const PTR right)
    We want to sort in descending order.  */
 
 static int
-DEFUN (cmp_fun_nuses, (left, right), const PTR left AND const PTR right)
+cmp_fun_nuses (left, right)
+     const PTR left;
+     const PTR right;
 {
   const Sym **npp1 = (const Sym **) left;
   const Sym **npp2 = (const Sym **) right;
@@ -755,7 +789,7 @@ DEFUN (cmp_fun_nuses, (left, right), const PTR left AND const PTR right)
        of function ordering).  */
 
 void
-DEFUN_VOID (cg_print_function_ordering)
+cg_print_function_ordering ()
 {
   unsigned long index, used, unused, scratch_index;
   unsigned long  unplaced_arc_count, high_arc_count, scratch_arc_count;
@@ -960,18 +994,18 @@ DEFUN_VOID (cg_print_function_ordering)
   free (unplaced_arcs);
 }
 
-/* Place functions based on the arcs in ARCS with NUMARCS entries;
+/* Place functions based on the arcs in THE_ARCS with ARC_COUNT entries;
    place unused arcs into UNPLACED_ARCS/UNPLACED_ARC_COUNT.
 
-   If ALL is nonzero, then place all functions referenced by ARCS,
-   else only place those referenced in the top 99% of the arcs in ARCS.  */
+   If ALL is nonzero, then place all functions referenced by THE_ARCS,
+   else only place those referenced in the top 99% of the arcs in THE_ARCS.  */
 
 #define MOST 0.99
 static void
-order_and_dump_functions_by_arcs (arcs, numarcs, all,
+order_and_dump_functions_by_arcs (the_arcs, arc_count, all,
                                  unplaced_arcs, unplaced_arc_count)
-     Arc **arcs;
-     unsigned long numarcs;
+     Arc **the_arcs;
+     unsigned long arc_count;
      int all;
      Arc **unplaced_arcs;
      unsigned long *unplaced_arc_count;
@@ -989,27 +1023,27 @@ order_and_dump_functions_by_arcs (arcs, numarcs, all,
   if (! all)
     {
       total_arcs = 0;
-      for (index = 0; index < numarcs; index++)
-       total_arcs += arcs[index]->count;
+      for (index = 0; index < arc_count; index++)
+       total_arcs += the_arcs[index]->count;
     }
   else
     total_arcs = 0;
 
   tmp_arcs = 0;
 
-  for (index = 0; index < numarcs; index++)
+  for (index = 0; index < arc_count; index++)
     {
       Sym *sym1, *sym2;
       Sym *child, *parent;
 
-      tmp_arcs += arcs[index]->count;
+      tmp_arcs += the_arcs[index]->count;
 
       /* Ignore this arc if it's already been placed.  */
-      if (arcs[index]->has_been_placed)
+      if (the_arcs[index]->has_been_placed)
        continue;
 
-      child = arcs[index]->child;
-      parent = arcs[index]->parent;
+      child = the_arcs[index]->child;
+      parent = the_arcs[index]->parent;
 
       /* If we're not using all arcs, and this is a rarely used
         arc, then put it on the unplaced_arc list.  Similarly
@@ -1017,7 +1051,7 @@ order_and_dump_functions_by_arcs (arcs, numarcs, all,
       if ((! all && (double)tmp_arcs / (double)total_arcs > MOST)
          || child->has_been_placed || parent->has_been_placed)
        {
-         unplaced_arcs[(*unplaced_arc_count)++] = arcs[index];
+         unplaced_arcs[(*unplaced_arc_count)++] = the_arcs[index];
          continue;
        }
 
@@ -1027,7 +1061,7 @@ order_and_dump_functions_by_arcs (arcs, numarcs, all,
         algorithm can use it to place function chains.  */
       if (parent->next && parent->prev && child->next && child->prev)
        {
-         unplaced_arcs[(*unplaced_arc_count)++] = arcs[index];
+         unplaced_arcs[(*unplaced_arc_count)++] = the_arcs[index];
          continue;
        }
 
@@ -1082,7 +1116,7 @@ order_and_dump_functions_by_arcs (arcs, numarcs, all,
        {
          /* Couldn't find anywhere to attach the functions,
             put the arc on the unplaced arc list.  */
-         unplaced_arcs[(*unplaced_arc_count)++] = arcs[index];
+         unplaced_arcs[(*unplaced_arc_count)++] = the_arcs[index];
          continue;
        }
 
@@ -1107,7 +1141,7 @@ order_and_dump_functions_by_arcs (arcs, numarcs, all,
          && sym2 == parent)
        {
          /* This would tie two ends together.  */
-         unplaced_arcs[(*unplaced_arc_count)++] = arcs[index];
+         unplaced_arcs[(*unplaced_arc_count)++] = the_arcs[index];
          continue;
        }
 
@@ -1119,7 +1153,7 @@ order_and_dump_functions_by_arcs (arcs, numarcs, all,
              /* parent-prev and child-next */
              parent->prev = child;
              child->next = parent;
-             arcs[index]->has_been_placed = 1;
+             the_arcs[index]->has_been_placed = 1;
            }
        }
       else if (parent->prev)
@@ -1130,7 +1164,7 @@ order_and_dump_functions_by_arcs (arcs, numarcs, all,
              /* parent-next and child-prev */
              parent->next = child;
              child->prev = parent;
-             arcs[index]->has_been_placed = 1;
+             the_arcs[index]->has_been_placed = 1;
            }
        }
       else
@@ -1142,27 +1176,27 @@ order_and_dump_functions_by_arcs (arcs, numarcs, all,
              /* parent-prev and child-next.  */
              parent->prev = child;
              child->next = parent;
-             arcs[index]->has_been_placed = 1;
+             the_arcs[index]->has_been_placed = 1;
            }
          else
            {
              /* parent-next and child-prev.  */
              parent->next = child;
              child->prev = parent;
-             arcs[index]->has_been_placed = 1;
+             the_arcs[index]->has_been_placed = 1;
            }
        }
     }
 
   /* Dump the chains of functions we've made.  */
-  for (index = 0; index < numarcs; index++)
+  for (index = 0; index < arc_count; index++)
     {
       Sym *sym;
-      if (arcs[index]->parent->has_been_placed
-         || arcs[index]->child->has_been_placed)
+      if (the_arcs[index]->parent->has_been_placed
+         || the_arcs[index]->child->has_been_placed)
        continue;
 
-      sym = arcs[index]->parent;
+      sym = the_arcs[index]->parent;
 
       /* If this symbol isn't attached to any other
         symbols, then we've got a rarely used arc.
@@ -1188,14 +1222,14 @@ order_and_dump_functions_by_arcs (arcs, numarcs, all,
   /* If we want to place all the arcs, then output
      those which weren't placed by the main algorithm.  */
   if (all)
-    for (index = 0; index < numarcs; index++)
+    for (index = 0; index < arc_count; index++)
       {
        Sym *sym;
-       if (arcs[index]->parent->has_been_placed
-           || arcs[index]->child->has_been_placed)
+       if (the_arcs[index]->parent->has_been_placed
+           || the_arcs[index]->child->has_been_placed)
          continue;
 
-       sym = arcs[index]->parent;
+       sym = the_arcs[index]->parent;
 
        sym->has_been_placed = 1;
        printf ("%s\n", sym->name);
@@ -1206,19 +1240,11 @@ order_and_dump_functions_by_arcs (arcs, numarcs, all,
    on profiling information.  This uses the function placement
    code for the bulk of its work.  */
 
-struct function_map
-{
-  char *function_name;
-  char *file_name;
-};
-
 void
-DEFUN_VOID (cg_print_file_ordering)
+cg_print_file_ordering ()
 {
   unsigned long scratch_arc_count, index;
   Arc **scratch_arcs;
-  extern struct function_map *symbol_map;
-  extern unsigned int symbol_map_count;
   char *last;
 
   scratch_arc_count = 0;
index 9f3ca03cd2d6d1fc3dbdc60a94bc51bb778fde2d..fdebc88fe632fdbc7280226b1655a775f3152038 100644 (file)
@@ -36,15 +36,14 @@ int min_insn_size;
 int offset_to_code;
 
 /* For mapping symbols to specific .o files during file ordering.  */
-struct function_map
-{
-  char *function_name;
-  char *file_name;
-};
-
 struct function_map *symbol_map;
 unsigned int symbol_map_count;
 
+static void read_function_mappings PARAMS ((const char *));
+static int core_sym_class PARAMS ((asymbol *));
+static boolean get_src_info
+  PARAMS ((bfd_vma, const char **, const char **, int *));
+
 extern void i386_find_call  PARAMS ((Sym *, bfd_vma, bfd_vma));
 extern void alpha_find_call PARAMS ((Sym *, bfd_vma, bfd_vma));
 extern void vax_find_call   PARAMS ((Sym *, bfd_vma, bfd_vma));
@@ -53,7 +52,8 @@ extern void sparc_find_call PARAMS ((Sym *, bfd_vma, bfd_vma));
 extern void mips_find_call  PARAMS ((Sym *, bfd_vma, bfd_vma));
 
 static void
-DEFUN (read_function_mappings, (filename), const char *filename)
+read_function_mappings (filename)
+     const char *filename;
 {
   FILE *file = fopen (filename, "r");
   char dummy[1024];
@@ -139,19 +139,20 @@ DEFUN (read_function_mappings, (filename), const char *filename)
 
 
 void
-DEFUN (core_init, (a_out_name), const char *a_out_name)
+core_init (aout_name)
+     const char *aout_name;
 {
-  core_bfd = bfd_openr (a_out_name, 0);
+  core_bfd = bfd_openr (aout_name, 0);
 
   if (!core_bfd)
     {
-      perror (a_out_name);
+      perror (aout_name);
       done (1);
     }
 
   if (!bfd_check_format (core_bfd, bfd_object))
     {
-      fprintf (stderr, _("%s: %s: not in a.out format\n"), whoami, a_out_name);
+      fprintf (stderr, _("%s: %s: not in a.out format\n"), whoami, aout_name);
       done (1);
     }
 
@@ -163,7 +164,7 @@ DEFUN (core_init, (a_out_name), const char *a_out_name)
       if (!core_text_sect)
        {
          fprintf (stderr, _("%s: can't find .text section in %s\n"),
-                  whoami, a_out_name);
+                  whoami, aout_name);
          done (1);
        }
     }
@@ -174,7 +175,7 @@ DEFUN (core_init, (a_out_name), const char *a_out_name)
   core_num_syms = bfd_get_symtab_upper_bound (core_bfd);
   if (core_num_syms < 0)
     {
-      fprintf (stderr, "%s: %s: %s\n", whoami, a_out_name,
+      fprintf (stderr, "%s: %s: %s\n", whoami, aout_name,
               bfd_errmsg (bfd_get_error ()));
       done (1);
     }
@@ -184,7 +185,7 @@ DEFUN (core_init, (a_out_name), const char *a_out_name)
 
   if (core_num_syms < 0)
     {
-      fprintf (stderr, "%s: %s: %s\n", whoami, a_out_name,
+      fprintf (stderr, "%s: %s: %s\n", whoami, aout_name,
               bfd_errmsg (bfd_get_error ()));
       done (1);
     }
@@ -214,9 +215,10 @@ DEFUN (core_init, (a_out_name), const char *a_out_name)
 /* Read in the text space of an a.out file.  */
 
 void
-DEFUN (core_get_text_space, (core_bfd), bfd * core_bfd)
+core_get_text_space (cbfd)
+     bfd *cbfd;
 {
-  core_text_space = (PTR) malloc (core_text_sect->_raw_size);
+  core_text_space = (PTR) malloc ((unsigned int) core_text_sect->_raw_size);
 
   if (!core_text_space)
     {
@@ -225,8 +227,8 @@ DEFUN (core_get_text_space, (core_bfd), bfd * core_bfd)
       done (1);
     }
 
-  if (!bfd_get_section_contents (core_bfd, core_text_sect, core_text_space,
-                                0, core_text_sect->_raw_size))
+  if (!bfd_get_section_contents (cbfd, core_text_sect, core_text_space,
+                                (bfd_vma) 0, core_text_sect->_raw_size))
     {
       bfd_perror ("bfd_get_section_contents");
       free (core_text_space);
@@ -239,8 +241,10 @@ DEFUN (core_get_text_space, (core_bfd), bfd * core_bfd)
 
 
 void
-DEFUN (find_call, (parent, p_lowpc, p_highpc),
-       Sym * parent AND bfd_vma p_lowpc AND bfd_vma p_highpc)
+find_call (parent, p_lowpc, p_highpc)
+     Sym *parent;
+     bfd_vma p_lowpc;
+     bfd_vma p_highpc;
 {
   switch (bfd_get_arch (core_bfd))
     {
@@ -283,7 +287,8 @@ DEFUN (find_call, (parent, p_lowpc, p_highpc),
        't' -> symbol is a local (static) name.  */
 
 static int
-DEFUN (core_sym_class, (sym), asymbol * sym)
+core_sym_class (sym)
+     asymbol *sym;
 {
   symbol_info syminfo;
   const char *name;
@@ -366,9 +371,11 @@ DEFUN (core_sym_class, (sym), asymbol * sym)
 /* Get whatever source info we can get regarding address ADDR.  */
 
 static boolean
-DEFUN (get_src_info, (addr, filename, name, line_num),
-       bfd_vma addr AND const char **filename AND const char **name
-       AND int *line_num)
+get_src_info (addr, filename, name, line_num)
+     bfd_vma addr;
+     const char **filename;
+     const char **name;
+     int *line_num;
 {
   const char *fname = 0, *func_name = 0;
   int l = 0;
@@ -398,10 +405,11 @@ DEFUN (get_src_info, (addr, filename, name, line_num),
    One symbol per function is entered.  */
 
 void
-core_create_function_syms (core_bfd)
-     bfd *core_bfd ATTRIBUTE_UNUSED;
+core_create_function_syms (cbfd)
+     bfd *cbfd ATTRIBUTE_UNUSED;
 {
-  bfd_vma min_vma = ~0, max_vma = 0;
+  bfd_vma min_vma = ~(bfd_vma) 0;
+  bfd_vma max_vma = 0;
   int class;
   long i, found, skip;
   unsigned int j;
@@ -560,7 +568,7 @@ core_create_function_syms (core_bfd)
   sym_init (symtab.limit);
   symtab.limit->name = "<hicore>";
   symtab.limit->addr = max_vma + 1;
-  symtab.limit->end_addr = ~0;
+  symtab.limit->end_addr = ~(bfd_vma) 0;
   ++symtab.limit;
 
   symtab.len = symtab.limit - symtab.base;
@@ -571,11 +579,12 @@ core_create_function_syms (core_bfd)
    One symbol per line of source code is entered.  */
 
 void
-DEFUN (core_create_line_syms, (core_bfd), bfd * core_bfd)
+core_create_line_syms (cbfd)
+     bfd *cbfd;
 {
   char *prev_name, *prev_filename;
-  int prev_name_len, prev_filename_len;
-  bfd_vma vma, min_vma = ~0, max_vma = 0;
+  unsigned int prev_name_len, prev_filename_len;
+  bfd_vma vma, min_vma = ~(bfd_vma) 0, max_vma = 0;
   bfd_vma offset;
   Sym *prev, dummy, *sentinel, *sym;
   const char *filename;
@@ -585,7 +594,7 @@ DEFUN (core_create_line_syms, (core_bfd), bfd * core_bfd)
   /* Create symbols for functions as usual.  This is necessary in
      cases where parts of a program were not compiled with -g.  For
      those parts we still want to get info at the function level.  */
-  core_create_function_syms (core_bfd);
+  core_create_function_syms (cbfd);
 
   /* Pass 1 - counter number of symbols.  */
 
@@ -605,7 +614,7 @@ DEFUN (core_create_line_syms, (core_bfd), bfd * core_bfd)
 
   for (offset = 0; offset < core_text_sect->_raw_size; offset += min_insn_size)
     {
-      int len;
+      unsigned int len;
 
       vma = core_text_sect->vma + offset;
 
@@ -718,13 +727,13 @@ DEFUN (core_create_line_syms, (core_bfd), bfd * core_bfd)
     }
 
   /* Update sentinels.  */
-  sentinel = sym_lookup (&symtab, 0);
+  sentinel = sym_lookup (&symtab, (bfd_vma) 0);
 
   if (strcmp (sentinel->name, "<locore>") == 0
       && min_vma <= sentinel->end_addr)
     sentinel->end_addr = min_vma - 1;
 
-  sentinel = sym_lookup (&symtab, ~0);
+  sentinel = sym_lookup (&symtab, ~(bfd_vma) 0);
 
   if (strcmp (sentinel->name, "<hicore>") == 0 && max_vma >= sentinel->addr)
     sentinel->addr = max_vma + 1;
index a1457da7e2cfae995ca067cc9630e39226a085c5..7ecbbff87fd9579704d2ac3b22c8fcd92d762567 100644 (file)
@@ -1,6 +1,6 @@
 /* corefile.h
 
-   Copyright 2000, 2001 Free Software Foundation, Inc.
+   Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
 
 This file is part of GNU Binutils.
 
@@ -21,6 +21,15 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #ifndef corefile_h
 #define corefile_h
 
+struct function_map
+{
+  char *function_name;
+  char *file_name;
+};
+
+extern struct function_map *symbol_map;
+extern unsigned int symbol_map_count;
+
 extern bfd *core_bfd;          /* BFD for core-file.  */
 extern int core_num_syms;      /* # of entries in symbol-table.  */
 extern asymbol **core_syms;    /* Symbol table in a.out.  */
index db115908c6c3bffd35ae596ff31bd90d4238e832..46c6f9b5b74d8ebac3590540721723018c3a0554 100644 (file)
 #include "hist.h"
 #include "libiberty.h"
 
+static int gmon_io_read_64 PARAMS ((FILE *, BFD_HOST_U_64_BIT *));
+static int gmon_io_write_64 PARAMS ((FILE *, BFD_HOST_U_64_BIT));
+static int gmon_read_raw_arc
+  PARAMS ((FILE *, bfd_vma *, bfd_vma *, unsigned long *));
+static int gmon_write_raw_arc
+  PARAMS ((FILE *, bfd_vma, bfd_vma, unsigned long));
+
 int gmon_input = 0;
 int gmon_file_version = 0;     /* 0 == old (non-versioned) file format.  */
 
 int
-DEFUN (gmon_io_read_32, (ifp, valp), FILE * ifp AND unsigned int *valp)
+gmon_io_read_32 (ifp, valp)
+     FILE *ifp;
+     unsigned int *valp;
 {
   char buf[4];
 
@@ -48,8 +57,10 @@ DEFUN (gmon_io_read_32, (ifp, valp), FILE * ifp AND unsigned int *valp)
   return 0;
 }
 
-int
-DEFUN (gmon_io_read_64, (ifp, valp), FILE * ifp AND BFD_HOST_U_64_BIT *valp)
+static int
+gmon_io_read_64 (ifp, valp)
+     FILE *ifp;
+     BFD_HOST_U_64_BIT *valp;
 {
   char buf[8];
 
@@ -60,7 +71,9 @@ DEFUN (gmon_io_read_64, (ifp, valp), FILE * ifp AND BFD_HOST_U_64_BIT *valp)
 }
 
 int
-DEFUN (gmon_io_read_vma, (ifp, valp), FILE * ifp AND bfd_vma *valp)
+gmon_io_read_vma (ifp, valp)
+     FILE *ifp;
+     bfd_vma *valp;
 {
   unsigned int val32;
   BFD_HOST_U_64_BIT val64;
@@ -88,7 +101,10 @@ DEFUN (gmon_io_read_vma, (ifp, valp), FILE * ifp AND bfd_vma *valp)
 }
 
 int
-DEFUN (gmon_io_read, (ifp, buf, n), FILE * ifp AND char *buf AND size_t n)
+gmon_io_read (ifp, buf, n)
+     FILE *ifp;
+     char *buf;
+     size_t n;
 {
   if (fread (buf, 1, n, ifp) != n)
     return 1;
@@ -96,29 +112,35 @@ DEFUN (gmon_io_read, (ifp, buf, n), FILE * ifp AND char *buf AND size_t n)
 }
 
 int
-DEFUN (gmon_io_write_32, (ofp, val), FILE * ofp AND unsigned int val)
+gmon_io_write_32 (ofp, val)
+     FILE *ofp;
+     unsigned int val;
 {
   char buf[4];
 
-  bfd_put_32 (core_bfd, val, buf);
+  bfd_put_32 (core_bfd, (bfd_vma) val, buf);
   if (fwrite (buf, 1, 4, ofp) != 4)
     return 1;
   return 0;
 }
 
-int
-DEFUN (gmon_io_write_64, (ofp, val), FILE * ofp AND BFD_HOST_U_64_BIT val)
+static int
+gmon_io_write_64 (ofp, val)
+     FILE *ofp;        
+     BFD_HOST_U_64_BIT val;
 {
   char buf[8];
 
-  bfd_put_64 (core_bfd, val, buf);
+  bfd_put_64 (core_bfd, (bfd_vma) val, buf);
   if (fwrite (buf, 1, 8, ofp) != 8)
     return 1;
   return 0;
 }
 
 int
-DEFUN (gmon_io_write_vma, (ofp, val), FILE * ofp AND bfd_vma val)
+gmon_io_write_vma (ofp, val)
+     FILE *ofp;
+     bfd_vma val;
 {
 
   switch (bfd_arch_bits_per_address (core_bfd))
@@ -142,7 +164,9 @@ DEFUN (gmon_io_write_vma, (ofp, val), FILE * ofp AND bfd_vma val)
 }
 
 int
-DEFUN (gmon_io_write_8, (ofp, val), FILE * ofp AND unsigned char val)
+gmon_io_write_8 (ofp, val)
+     FILE *ofp;        
+     unsigned int val;
 {
   char buf[1];
 
@@ -153,15 +177,22 @@ DEFUN (gmon_io_write_8, (ofp, val), FILE * ofp AND unsigned char val)
 }
 
 int
-DEFUN (gmon_io_write, (ofp, buf, n), FILE * ofp AND char *buf AND size_t n)
+gmon_io_write (ofp, buf, n)
+     FILE *ofp;        
+     char *buf;
+     size_t n;
 {
   if (fwrite (buf, 1, n, ofp) != n)
     return 1;
   return 0;
 }
 
-int
-DEFUN (gmon_read_raw_arc, (ifp, fpc, spc, cnt), FILE * ifp AND bfd_vma * fpc AND bfd_vma * spc AND unsigned long * cnt)
+static int
+gmon_read_raw_arc (ifp, fpc, spc, cnt)
+     FILE *ifp;
+     bfd_vma *fpc;
+     bfd_vma *spc;
+     unsigned long *cnt;
 {
   BFD_HOST_U_64_BIT cnt64;
   unsigned int cnt32;
@@ -192,8 +223,12 @@ DEFUN (gmon_read_raw_arc, (ifp, fpc, spc, cnt), FILE * ifp AND bfd_vma * fpc AND
   return 0;
 }
 
-int
-DEFUN (gmon_write_raw_arc, (ofp, fpc, spc, cnt), FILE * ofp AND bfd_vma fpc AND bfd_vma spc AND unsigned long cnt)
+static int
+gmon_write_raw_arc (ofp, fpc, spc, cnt)
+     FILE *ofp;
+     bfd_vma fpc;
+     bfd_vma spc;
+     unsigned long cnt;
 {
 
   if (gmon_io_write_vma (ofp, fpc)
@@ -221,7 +256,8 @@ DEFUN (gmon_write_raw_arc, (ofp, fpc, spc, cnt), FILE * ofp AND bfd_vma fpc AND
 }
 
 void
-DEFUN (gmon_out_read, (filename), const char *filename)
+gmon_out_read (filename)
+     const char *filename;
 {
   FILE *ifp;
   struct gmon_hdr ghdr;
@@ -538,7 +574,8 @@ DEFUN (gmon_out_read, (filename), const char *filename)
 
 
 void
-DEFUN (gmon_out_write, (filename), const char *filename)
+gmon_out_write (filename)
+     const char *filename;
 {
   FILE *ofp;
   struct gmon_hdr ghdr;
@@ -555,7 +592,7 @@ DEFUN (gmon_out_write, (filename), const char *filename)
       /* Write gmon header.  */
 
       memcpy (&ghdr.cookie[0], GMON_MAGIC, 4);
-      bfd_put_32 (core_bfd, GMON_VERSION, (bfd_byte *) ghdr.version);
+      bfd_put_32 (core_bfd, (bfd_vma) GMON_VERSION, (bfd_byte *) ghdr.version);
 
       if (fwrite (&ghdr, sizeof (ghdr), 1, ofp) != 1)
        {
@@ -652,7 +689,7 @@ DEFUN (gmon_out_write, (filename), const char *filename)
          || hz != hertz())
        {
           if (gmon_io_write_32 (ofp, GMONVERSION)
-             || gmon_io_write_32 (ofp, hz))
+             || gmon_io_write_32 (ofp, (unsigned int) hz))
            {
              perror (filename);
              done (1);
@@ -671,7 +708,8 @@ DEFUN (gmon_out_write, (filename), const char *filename)
       /* Dump the samples.  */
       for (i = 0; i < hist_num_bins; ++i)
        {
-         bfd_put_16 (core_bfd, hist_sample[i], (bfd_byte *) & raw_bin_count[0]);
+         bfd_put_16 (core_bfd, (bfd_vma) hist_sample[i],
+                     (bfd_byte *) &raw_bin_count[0]);
          if (fwrite (&raw_bin_count[0], sizeof (raw_bin_count), 1, ofp) != 1)
            {
              perror (filename);
index 48a036764774462e6fd3b4e44786d9d277f987e7..b632d758e5c9be7ab4b59f11c52209057b283ad6 100644 (file)
@@ -1,6 +1,6 @@
 /* gmon_io.h
 
-   Copyright 2000, 2001 Free Software Foundation, Inc.
+   Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
 
 This file is part of GNU Binutils.
 
@@ -51,7 +51,7 @@ extern int gmon_io_read_32 PARAMS ((FILE *ifp, unsigned int *valp));
 extern int gmon_io_read PARAMS ((FILE *ifp, char *buf, size_t n));
 extern int gmon_io_write_vma PARAMS ((FILE *ifp, bfd_vma val));
 extern int gmon_io_write_32 PARAMS ((FILE *ifp, unsigned int val));
-extern int gmon_io_write_8 PARAMS ((FILE *ifp, unsigned char val));
+extern int gmon_io_write_8 PARAMS ((FILE *ifp, unsigned int val));
 extern int gmon_io_write PARAMS ((FILE *ifp, char *buf, size_t n));
 
 extern void gmon_out_read   PARAMS ((const char *));
index c7189d035971d15e1263776dea910f57cf349bd9..db6dd9a5cc1d2b8968c00a771b93efc067fc55e8 100644 (file)
@@ -33,6 +33,9 @@
 #include "sym_ids.h"
 #include "demangle.h"
 
+static void usage PARAMS ((FILE *, int)) ATTRIBUTE_NORETURN;
+int main PARAMS ((int, char **));
+
 const char *whoami;
 const char *function_mapping_file;
 const char *a_out_name = A_OUTNAME;
@@ -142,7 +145,9 @@ static struct option long_options[] =
 
 
 static void
-DEFUN (usage, (stream, status), FILE * stream AND int status)
+usage (stream, status)
+     FILE *stream;
+     int status;
 {
   fprintf (stream, _("\
 Usage: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqQZ][name]] [-I dirs]\n\
@@ -166,7 +171,9 @@ Usage: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqQZ][name]] [-I dirs]\n\
 
 
 int
-DEFUN (main, (argc, argv), int argc AND char **argv)
+main (argc, argv)
+     int argc;
+     char **argv;
 {
   char **sp, *str;
   Sym **cg = 0;
index 567ebd2d5c26ea0f54ebe98c5373eb28e7eeb922..911c5be3d6d5f0ec9c3076216b075d7f41c6d3fc 100644 (file)
@@ -126,6 +126,6 @@ extern File_Format file_format;             /* requested file format */
 
 extern boolean first_output;           /* no output so far? */
 
-extern void done PARAMS ((int status));
+extern void done PARAMS ((int status)) ATTRIBUTE_NORETURN;
 
 #endif /* gprof_h */
index 0d0df01007ca69f5544a7bf005ef103c1f30a75d..d987656aac82eaa477fdd1e7bd7ea7fa4e37ebbf 100644 (file)
@@ -1,6 +1,6 @@
 /* hist.c  -  Histogram related operations.
 
-   Copyright 2000, 2001 Free Software Foundation, Inc.
+   Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
 
    This file is part of GNU Binutils.
 
@@ -34,6 +34,9 @@
 #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));
 
 /* Declarations of automatically generated functions to output blurbs.  */
 extern void flat_blurb PARAMS ((FILE * fp));
@@ -77,7 +80,9 @@ SItab[] =
    is provided for formatting error messages only.  */
 
 void
-DEFUN (hist_read_rec, (ifp, filename), FILE * ifp AND const char *filename)
+hist_read_rec (ifp, filename)
+     FILE * ifp;
+     const char *filename;
 {
   bfd_vma n_lowpc, n_highpc;
   int i, ncnt, profrate;
@@ -152,7 +157,9 @@ DEFUN (hist_read_rec, (ifp, filename), FILE * ifp AND const char *filename)
    of OFP and is provided for formatting error-messages only.  */
 
 void
-DEFUN (hist_write_hist, (ofp, filename), FILE * ofp AND const char *filename)
+hist_write_hist (ofp, filename)
+     FILE * ofp;
+     const char *filename;
 {
   UNIT count;
   int i;
@@ -173,7 +180,7 @@ DEFUN (hist_write_hist, (ofp, filename), FILE * ofp AND const char *filename)
 
   for (i = 0; i < hist_num_bins; ++i)
     {
-      bfd_put_16 (core_bfd, hist_sample[i], (bfd_byte *) & count[0]);
+      bfd_put_16 (core_bfd, (bfd_vma) hist_sample[i], (bfd_byte *) &count[0]);
 
       if (fwrite (&count[0], sizeof (count), 1, ofp) != 1)
        {
@@ -255,7 +262,7 @@ scale_and_align_entries ()
    cases, above).  */
 
 void
-DEFUN_VOID (hist_assign_samples)
+hist_assign_samples ()
 {
   bfd_vma bin_low_pc, bin_high_pc;
   bfd_vma sym_low_pc, sym_high_pc;
@@ -344,7 +351,8 @@ DEFUN_VOID (hist_assign_samples)
 /* Print header for flag histogram profile.  */
 
 static void
-DEFUN (print_header, (prefix), const char prefix)
+print_header (prefix)
+     int prefix;
 {
   char unit[64];
 
@@ -383,7 +391,9 @@ DEFUN (print_header, (prefix), const char prefix)
 
 
 static void
-DEFUN (print_line, (sym, scale), Sym * sym AND double scale)
+print_line (sym, scale)
+     Sym *sym;
+     double scale;
 {
   if (ignore_zeros && sym->ncalls == 0 && sym->hist.time == 0)
     return;
@@ -420,7 +430,9 @@ DEFUN (print_line, (sym, scale), Sym * sym AND double scale)
    lexicographic order of the function names.  */
 
 static int
-DEFUN (cmp_time, (lp, rp), const PTR lp AND const PTR rp)
+cmp_time (lp, rp)
+     const PTR lp;
+     const PTR rp;
 {
   const Sym *left = *(const Sym **) lp;
   const Sym *right = *(const Sym **) rp;
@@ -447,7 +459,7 @@ DEFUN (cmp_time, (lp, rp), const PTR lp AND const PTR rp)
 /* Print the flat histogram profile.  */
 
 void
-DEFUN_VOID (hist_print)
+hist_print ()
 {
   Sym **time_sorted_syms, *top_dog, *sym;
   unsigned int index;
index 5638957f5e289e942db15fb41c8466dcb8a57883..fcc1ed31b7d1c9b81ad9de59abf8689ad15b125a 100644 (file)
@@ -74,7 +74,7 @@ mips_find_call (parent, p_lowpc, p_highpc)
          DBG (CALLDEBUG,
               printf (_("[find_call] 0x%lx: jal"), (unsigned long) pc));
           offset = (op & 0x03ffffff) << 2;
-         dest_pc = (pc & ~0xfffffff) | offset;
+         dest_pc = (pc & ~(bfd_vma) 0xfffffff) | offset;
          if (dest_pc >= s_lowpc && dest_pc <= s_highpc)
            {
              child = sym_lookup (&symtab, dest_pc);
index 743fbdac6085666af3d1d0b5fc3a1d00b3650917..50b4cf2e3d89e9d28f294747de4e3aeda3ff44f0 100644 (file)
@@ -1,6 +1,6 @@
 /* search-list.c
 
-   Copyright 2000, 2001 Free Software Foundation, Inc.
+   Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
 
    This file is part of GNU Binutils.
 
 
 
 void
-DEFUN (search_list_append, (list, paths),
-       Search_List * list AND const char *paths)
+search_list_append (list, paths)
+     Search_List *list;
+     const char *paths;
 {
   Search_List_Elem *new_el;
   const char *beg, *colon;
-  int len;
+  unsigned int len;
 
   colon = paths - 1;
   do
index c0bbabd92b7cc106ad232cc13458f442d8755595..496373e752f7849d7edf47ef66e5b6aad9b8fa9f 100644 (file)
@@ -1,6 +1,6 @@
 /* source.c - Keep track of source files.
 
-   Copyright 2000, 2001 Free Software Foundation, Inc.
+   Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
 
    This file is part of GNU Binutils.
 
@@ -35,7 +35,8 @@ Source_File *first_src_file = 0;
 
 
 Source_File *
-DEFUN (source_file_lookup_path, (path), const char *path)
+source_file_lookup_path (path)
+     const char *path;
 {
   Source_File *sf;
 
@@ -62,7 +63,8 @@ DEFUN (source_file_lookup_path, (path), const char *path)
 
 
 Source_File *
-DEFUN (source_file_lookup_name, (filename), const char *filename)
+source_file_lookup_name (filename)
+     const char *filename;
 {
   const char *fname;
   Source_File *sf;
@@ -89,10 +91,11 @@ DEFUN (source_file_lookup_name, (filename), const char *filename)
 
 
 FILE *
-DEFUN (annotate_source, (sf, max_width, annote, arg),
-       Source_File * sf AND int max_width
-       AND void (*annote) PARAMS ((char *buf, int w, int l, void *arg))
-       AND void *arg)
+annotate_source (sf, max_width, annote, arg)
+     Source_File *sf;
+     unsigned int max_width;
+     void (*annote) PARAMS ((char *, unsigned int, int, void *));
+     void *arg;
 {
   static boolean first_file = true;
   int i, line_num, nread;
index 6e2e18fbe7e6451354af00889d994f8ed480b46e..6cc23ab8b4f5193261a6a4d5a368b6d7ee389139 100644 (file)
@@ -1,6 +1,6 @@
 /* source.h
 
-   Copyright 2000, 2001 Free Software Foundation, Inc.
+   Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
 
 This file is part of GNU Binutils.
 
@@ -53,8 +53,8 @@ extern Source_File *source_file_lookup_name PARAMS ((const char *));
    Returns a pointer to the output file (which maybe stdout) such
    that summary statistics can be printed.  If the returned file
    is not stdout, it should be closed when done with it.  */
-extern FILE *annotate_source PARAMS ((Source_File * sf, int max_width,
-                                     void (*annote) (char *b, int w, int l,
-                                                     void *arg),
-                                     void *arg));
+extern FILE *annotate_source
+  PARAMS ((Source_File *sf, unsigned int max_width,
+          void (*annote) (char *, unsigned int, int, PTR arg),
+          PTR arg));
 #endif /* source_h */
index 5b1b1e88869a8677fece6bee4df003cd5fe6b1c4..a8896046cfaf69121d9ed67fc77bde55e05c4cf4 100644 (file)
@@ -38,7 +38,7 @@ sparc_find_call (parent, p_lowpc, p_highpc)
      bfd_vma p_highpc;
 {
   bfd_vma pc, dest_pc;
-  unsigned long insn;
+  unsigned int insn;
   Sym *child;
 
   if (core_text_space == 0)
@@ -56,7 +56,7 @@ sparc_find_call (parent, p_lowpc, p_highpc)
   DBG (CALLDEBUG, printf ("[find_call] %s: 0x%lx to 0x%lx\n",
                          parent->name, (unsigned long) p_lowpc,
                          (unsigned long) p_highpc));
-  for (pc = (p_lowpc + 3) & ~3; pc < p_highpc; pc += 4)
+  for (pc = (p_lowpc + 3) & ~(bfd_vma) 3; pc < p_highpc; pc += 4)
     {
       insn = bfd_get_32 (core_bfd, ((unsigned char *) core_text_space
                                    + pc - core_text_sect->vma));
index f388d111412766ed9a9ab8346c802624dd6edf53..66ee0f6fcb4c1d4b8d4ea1cf312e94d0d5755d7a 100644 (file)
@@ -1,6 +1,6 @@
 /* sym_ids.c
 
-   Copyright 2000, 2001 Free Software Foundation, Inc.
+   Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
 
    This file is part of GNU Binutils.
 
@@ -46,6 +46,12 @@ struct sym_id
   }
  *id_list;
 
+static void parse_spec PARAMS ((char *, Sym *));
+static void parse_id PARAMS ((struct sym_id *));
+static boolean match PARAMS ((Sym *, Sym *));
+static void extend_match PARAMS ((struct match *, Sym *, Sym_Table *, boolean));
+
+
 Sym_Table syms[NUM_TABLES];
 
 #ifdef DEBUG
@@ -74,8 +80,9 @@ static Source_File non_existent_file =
 
 
 void
-DEFUN (sym_id_add, (spec, which_table),
-       const char *spec AND Table_Id which_table)
+sym_id_add (spec, which_table)
+     const char *spec;
+     Table_Id which_table;
 {
   struct sym_id *id;
   int len = strlen (spec);
@@ -103,7 +110,9 @@ DEFUN (sym_id_add, (spec, which_table),
    FILENAME not containing a dot can be specified by FILENAME.  */
 
 static void
-DEFUN (parse_spec, (spec, sym), char *spec AND Sym * sym)
+parse_spec (spec, sym)
+     char *spec;
+     Sym *sym;
 {
   char *colon;
 
@@ -158,7 +167,8 @@ DEFUN (parse_spec, (spec, sym), char *spec AND Sym * sym)
    by parse_spec().  */
 
 static void
-DEFUN (parse_id, (id), struct sym_id *id)
+parse_id (id)
+     struct sym_id *id;
 {
   char *slash;
 
@@ -207,7 +217,9 @@ DEFUN (parse_id, (id), struct sym_id *id)
 /* Return TRUE iff PATTERN matches SYM.  */
 
 static boolean
-DEFUN (match, (pattern, sym), Sym * pattern AND Sym * sym)
+match (pattern, sym)
+     Sym *pattern;
+     Sym *sym;
 {
   return (pattern->file ? pattern->file == sym->file : true)
     && (pattern->line_num ? pattern->line_num == sym->line_num : true)
@@ -219,8 +231,11 @@ DEFUN (match, (pattern, sym), Sym * pattern AND Sym * sym)
 
 
 static void
-DEFUN (extend_match, (m, sym, tab, second_pass),
-     struct match *m AND Sym * sym AND Sym_Table * tab AND boolean second_pass)
+extend_match (m, sym, tab, second_pass)
+     struct match *m;
+     Sym *sym;
+     Sym_Table *tab;
+     boolean second_pass;
 {
   if (m->prev_match != sym - 1)
     {
@@ -255,7 +270,7 @@ DEFUN (extend_match, (m, sym, tab, second_pass),
    requests---you get what you ask for!  */
 
 void
-DEFUN_VOID (sym_id_parse)
+sym_id_parse ()
 {
   Sym *sym, *left, *right;
   struct sym_id *id;
@@ -354,12 +369,14 @@ DEFUN_VOID (sym_id_parse)
    very big (the user has to type them!), so a linear search is probably
    tolerable.  */
 boolean
-DEFUN (sym_id_arc_is_present, (symtab, from, to),
-       Sym_Table * symtab AND Sym * from AND Sym * to)
+sym_id_arc_is_present (sym_tab, from, to)
+     Sym_Table *sym_tab;
+     Sym *from;
+     Sym *to;
 {
   Sym *sym;
 
-  for (sym = symtab->base; sym < symtab->limit; ++sym)
+  for (sym = sym_tab->base; sym < sym_tab->limit; ++sym)
     {
       if (from->addr >= sym->addr && from->addr <= sym->end_addr
          && arc_lookup (sym, to))
index 5b65ce26afabcb27129140f8fc16dbc110c1142f..49565eb50e7211f0a56c4f5ddb8b0cc1550581b6 100644 (file)
@@ -1,6 +1,6 @@
 /* sym_ids.h
 
-   Copyright 2000, 2001 Free Software Foundation, Inc.
+   Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
 
 This file is part of GNU Binutils.
 
index 9ca2002e6bc639d40bd27f6061a70452cf895320..c4ce7ed21598a801a1506fddec224f9ac060cbae 100644 (file)
@@ -1,6 +1,6 @@
 /* symtab.c
 
-   Copyright 2000, 2001 Free Software Foundation, Inc.
+   Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
 
    This file is part of GNU Binutils.
 
 #include "cg_arcs.h"
 #include "corefile.h"
 
+static int cmp_addr PARAMS ((const PTR, const PTR));
+
 Sym_Table symtab;
 
 
 /* Initialize a symbol (so it's empty).  */
 
 void
-DEFUN (sym_init, (sym), Sym * sym)
+sym_init (sym)
+     Sym *sym;
 {
   memset (sym, 0, sizeof (*sym));
 
@@ -56,10 +59,12 @@ DEFUN (sym_init, (sym), Sym * sym)
    the global symbol survives.  */
 
 static int
-DEFUN (cmp_addr, (lp, rp), const PTR lp AND const PTR rp)
+cmp_addr (lp, rp)
+     const PTR lp;
+     const PTR rp;
 {
-  Sym *left = (Sym *) lp;
-  Sym *right = (Sym *) rp;
+  const Sym *left = (const Sym *) lp;
+  const Sym *right = (const Sym *) rp;
 
   if (left->addr > right->addr)
     return 1;
@@ -74,7 +79,8 @@ DEFUN (cmp_addr, (lp, rp), const PTR lp AND const PTR rp)
 
 
 void
-DEFUN (symtab_finalize, (tab), Sym_Table * tab)
+symtab_finalize (tab)
+     Sym_Table *tab;
 {
   Sym *src, *dst;
   bfd_vma prev_addr;
@@ -171,7 +177,9 @@ DEFUN (symtab_finalize, (tab), Sym_Table * tab)
 #ifdef DEBUG
 
 Sym *
-DEFUN (dbg_sym_lookup, (symtab, address), Sym_Table * symtab AND bfd_vma address)
+dbg_sym_lookup (sym_tab, address)
+     Sym_Table *sym_tab;
+     bfd_vma address;
 {
   long low, mid, high;
   Sym *sym;
@@ -179,8 +187,8 @@ DEFUN (dbg_sym_lookup, (symtab, address), Sym_Table * symtab AND bfd_vma address
   fprintf (stderr, "[dbg_sym_lookup] address 0x%lx\n",
           (unsigned long) address);
 
-  sym = symtab->base;
-  for (low = 0, high = symtab->len - 1; low != high;)
+  sym = sym_tab->base;
+  for (low = 0, high = sym_tab->len - 1; low != high;)
     {
       mid = (high + low) >> 1;
 
@@ -210,7 +218,9 @@ DEFUN (dbg_sym_lookup, (symtab, address), Sym_Table * symtab AND bfd_vma address
 /* Look up an address in the symbol-table that is sorted by address.
    If address does not hit any symbol, 0 is returned.  */
 Sym *
-DEFUN (sym_lookup, (symtab, address), Sym_Table * symtab AND bfd_vma address)
+sym_lookup (sym_tab, address)
+     Sym_Table *sym_tab;
+     bfd_vma address;
 {
   long low, high;
   long mid = -1;
@@ -219,11 +229,11 @@ DEFUN (sym_lookup, (symtab, address), Sym_Table * symtab AND bfd_vma address)
   int probes = 0;
 #endif /* DEBUG */
 
-  if (!symtab->len)
+  if (!sym_tab->len)
     return 0;
 
-  sym = symtab->base;
-  for (low = 0, high = symtab->len - 1; low != high;)
+  sym = sym_tab->base;
+  for (low = 0, high = sym_tab->len - 1; low != high;)
     {
       DBG (LOOKUPDEBUG, ++probes);
       mid = (high + low) / 2;
@@ -240,7 +250,7 @@ DEFUN (sym_lookup, (symtab, address), Sym_Table * symtab AND bfd_vma address)
            {
              DBG (LOOKUPDEBUG,
                   printf ("[sym_lookup] %d probes (symtab->len=%u)\n",
-                          probes, symtab->len - 1));
+                          probes, sym_tab->len - 1));
              return &sym[mid];
            }
        }
@@ -261,7 +271,7 @@ DEFUN (sym_lookup, (symtab, address), Sym_Table * symtab AND bfd_vma address)
       else
        {
          DBG (LOOKUPDEBUG, printf ("[sym_lookup] %d (%u) probes, fall off\n",
-                                   probes, symtab->len - 1));
+                                   probes, sym_tab->len - 1));
          return &sym[mid + 1];
        }
     }
index 824fe9c2d35d98b00a6b0faed6b1f3b6533c2f2e..edeb1b313d2b06166517dd2dadb8132de6a6bfca 100644 (file)
@@ -1,6 +1,6 @@
 /* symtab.h
 
-   Copyright 2000, 2001 Free Software Foundation, Inc.
+   Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
 
 This file is part of GNU Binutils.
 
@@ -113,6 +113,9 @@ extern Sym_Table symtab;    /* The symbol table.  */
 
 extern void sym_init        PARAMS ((Sym *));
 extern void symtab_finalize PARAMS ((Sym_Table *));
+#ifdef DEBUG
+extern Sym *dbg_sym_lookup  PARAMS ((Sym_Table *, bfd_vma));
+#endif
 extern Sym *sym_lookup      PARAMS ((Sym_Table *, bfd_vma));
 extern void find_call       PARAMS ((Sym *, bfd_vma, bfd_vma));
 
index cf6dd29e91eafa98a76558052d42da586007b2bd..b18216fe960d3bfffbc4fd44492e1e9e66724ae7 100644 (file)
 #include "source.h"
 #include "symtab.h"
 #include "cg_arcs.h"
+#include "utils.h"
 
 
 /*
  * Print name of symbol.  Return number of characters printed.
  */
 int
-DEFUN (print_name_only, (self), Sym * self)
+print_name_only (self)
+     Sym *self;
 {
   const char *name = self->name;
   const char *filename;
@@ -87,7 +89,8 @@ DEFUN (print_name_only, (self), Sym * self)
 
 
 void
-DEFUN (print_name, (self), Sym * self)
+print_name (self)
+     Sym *self;
 {
   print_name_only (self);