OSDN Git Service

* config/i386/gmon-sol2.c: Silence compilation warnings by partially
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Jul 2006 00:29:20 +0000 (00:29 +0000)
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Jul 2006 00:29:20 +0000 (00:29 +0000)
synchronizing code with config/sparc/gmon-sol2.c.  Remove #if 0
blocks.  #include "tconfig.h" and "tsystem.h" to prototype system
functions such as sbrk, write, etc..  Add function prototypes.
Convert function declarations from K&R to ISO C.  Cast pointers
to "long" and "unsigned long" instead of "int" and "unsigned int".
Convert tokens following #endif into comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115540 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/gmon-sol2.c

index c52add0..ffc72e0 100644 (file)
@@ -1,3 +1,14 @@
+2006-07-17  Roger Sayle  <roger@eyesopen.com>
+           Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config/i386/gmon-sol2.c: Silence compilation warnings by partially
+       synchronizing code with config/sparc/gmon-sol2.c.  Remove #if 0
+       blocks.  #include "tconfig.h" and "tsystem.h" to prototype system
+       functions such as sbrk, write, etc..  Add function prototypes.
+       Convert function declarations from K&R to ISO C.  Cast pointers
+       to "long" and "unsigned long" instead of "int" and "unsigned int".
+       Convert tokens following #endif into comments.
+
 2006-07-17  Toon Moene  <toon@moene.indiv.nluug.nl>
 
        * invoke.texi: Remove mention of f77; Reformat table for
index 8ea242b..fc5a2cf 100644 (file)
  * This code could easily be integrated with the original gmon.c and perhaps
  * should be.
  */
+#include "tconfig.h"
+#include "tsystem.h"
+#include <fcntl.h> /* for creat() */
 
-#ifndef lint
-static char sccsid[] = "@(#)gmon.c     5.3 (Berkeley) 5/22/91";
-#endif /* not lint */
-
-#if 0
-#include <unistd.h>
-
-#endif
 #ifdef DEBUG
 #include <stdio.h>
 #endif
 
-#if 0
-#include "i386/gmon.h"
-#else
+static void moncontrol (int);
+extern void monstartup (char *, char *);
+extern void _mcleanup (void);
+extern void internal_mcount (void);
+
 
 struct phdr {
                 char    *lpc;
@@ -90,6 +87,7 @@ struct tostruct {
   long count;
   unsigned short link;
 };
+
 struct rawarc {
     unsigned long       raw_frompc;
     unsigned long       raw_selfpc;
@@ -97,14 +95,9 @@ struct rawarc {
 };
 #define ROUNDDOWN(x,y)  (((x)/(y))*(y))
 #define ROUNDUP(x,y)    ((((x)+(y)-1)/(y))*(y))
-#endif
 
 /* char *minbrk; */
 
-#ifdef __alpha
-extern char *sbrk ();
-#endif
-
     /*
      * froms is actually a bunch of unsigned shorts indexing tos
      */
@@ -126,9 +119,8 @@ static int  s_scale;
 
 extern int errno;
 
-monstartup(lowpc, highpc)
-    char       *lowpc;
-    char       *highpc;
+void
+monstartup(char *lowpc, char *highpc)
 {
     int                        monsize;
     char               *buffer;
@@ -139,10 +131,10 @@ monstartup(lowpc, highpc)
         *      so the rest of the scaling (here and in gprof) stays in ints.
         */
     lowpc = (char *)
-           ROUNDDOWN((unsigned)lowpc, HISTFRACTION*sizeof(HISTCOUNTER));
+           ROUNDDOWN((unsigned long)lowpc, HISTFRACTION*sizeof(HISTCOUNTER));
     s_lowpc = lowpc;
     highpc = (char *)
-           ROUNDUP((unsigned)highpc, HISTFRACTION*sizeof(HISTCOUNTER));
+           ROUNDUP((unsigned long)highpc, HISTFRACTION*sizeof(HISTCOUNTER));
     s_highpc = highpc;
     s_textsize = highpc - lowpc;
     monsize = (s_textsize / HISTFRACTION) + sizeof(struct phdr);
@@ -203,7 +195,8 @@ monstartup(lowpc, highpc)
     moncontrol(1);
 }
 
-_mcleanup()
+void
+_mcleanup (void)
 {
     int                        fd;
     int                        fromindex;
@@ -220,7 +213,7 @@ _mcleanup()
     }
 #   ifdef DEBUG
        fprintf( stderr , "[mcleanup] sbuf 0x%x ssiz %d\n" , sbuf , ssiz );
-#   endif DEBUG
+#   endif /* DEBUG */
 
     write( fd , sbuf , ssiz );
     endfrom = s_textsize / (HASHFRACTION * sizeof(*froms));
@@ -234,7 +227,7 @@ _mcleanup()
                fprintf( stderr ,
                        "[mcleanup] frompc 0x%x selfpc 0x%x count %d\n" ,
                        frompc , tos[toindex].selfpc , tos[toindex].count );
-#          endif DEBUG
+#          endif /* DEBUG */
            rawarc.raw_frompc = (unsigned long) frompc;
            rawarc.raw_selfpc = (unsigned long) tos[toindex].selfpc;
            rawarc.raw_count = tos[toindex].count;
@@ -249,7 +242,8 @@ asm(".globl _mcount; _mcount: jmp internal_mcount");
 /* This is for compatibility with old versions of gcc which used mcount.  */
 asm(".globl mcount; mcount: jmp internal_mcount");
 
-internal_mcount()
+void
+internal_mcount (void)
 {
        register char                   *selfpc;
        register unsigned short         *frompcindex;
@@ -271,10 +265,10 @@ internal_mcount()
        frompcindex = (void *) __builtin_return_address (1);
 
        if(!already_setup) {
-          extern etext();
+          extern char etext[];
          already_setup = 1;
 /*       monstartup(0, etext); */
-         monstartup(0x08040000, etext);
+         monstartup((char*)0x08040000, etext);
 #ifdef USE_ONEXIT
          on_exit(_mcleanup, 0);
 #else
@@ -387,15 +381,15 @@ overflow:
  *     profiling is what mcount checks to see if
  *     all the data structures are ready.
  */
-moncontrol(mode)
-    int mode;
+static void
+moncontrol(int mode)
 {
     if (mode)
     {
       /* start */
       profil((unsigned short *)(sbuf + sizeof(struct phdr)),
             ssiz - sizeof(struct phdr),
-            (int)s_lowpc, s_scale);
+            (long)s_lowpc, s_scale);
       
       profiling = 0;
     } else {