diff --git a/usr.bin/Makefile b/usr.bin/Makefile index 22d1aaf1dd7a..ff5f87564dae 100644 --- a/usr.bin/Makefile +++ b/usr.bin/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.3 (Berkeley) 1/7/94 -# $Id: Makefile,v 1.126 1999/04/18 09:51:43 obrien Exp $ +# $Id: Makefile,v 1.127 1999/04/18 15:56:20 peter Exp $ # XXX MISSING: deroff diction graph learn plot # spell spline struct xsend @@ -58,6 +58,7 @@ SUBDIR= apply \ gensetdefs \ getopt \ global \ + gprof \ head \ hexdump \ host \ @@ -211,7 +212,6 @@ SUBDIR+=ar \ brandelf \ doscmd \ gcore \ - gprof \ gprof4 \ nm \ ranlib \ diff --git a/usr.bin/gprof/alpha.c b/usr.bin/gprof/alpha.c new file mode 100644 index 000000000000..6a474086a312 --- /dev/null +++ b/usr.bin/gprof/alpha.c @@ -0,0 +1,11 @@ +#include "gprof.h" + +/* + * gprof -c isn't currently supported... + */ +findcall( parentp , p_lowpc , p_highpc ) + nltype *parentp; + unsigned long p_lowpc; + unsigned long p_highpc; +{ +} diff --git a/usr.bin/gprof/alpha.h b/usr.bin/gprof/alpha.h new file mode 100644 index 000000000000..067e019be34c --- /dev/null +++ b/usr.bin/gprof/alpha.h @@ -0,0 +1,44 @@ +/*- + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)i386.h 8.1 (Berkeley) 6/6/93 + */ + + /* + * offset (in bytes) of the code from the entry address of a routine. + * (see asgnsamples for use and explanation.) + */ +#define OFFSET_OF_CODE 0 +#define UNITS_TO_CODE (OFFSET_OF_CODE / sizeof(UNIT)) + +enum opermodes { dummy }; +typedef enum opermodes operandenum; diff --git a/usr.bin/gprof/gprof.c b/usr.bin/gprof/gprof.c index a5c614038892..2b6285184d42 100644 --- a/usr.bin/gprof/gprof.c +++ b/usr.bin/gprof/gprof.c @@ -42,7 +42,7 @@ static const char copyright[] = static char sccsid[] = "@(#)gprof.c 8.1 (Berkeley) 6/6/93"; #endif static const char rcsid[] = - "$Id: gprof.c,v 1.8 1998/09/07 23:31:59 jdp Exp $"; + "$Id: gprof.c,v 1.9 1999/05/23 00:37:54 jmz Exp $"; #endif /* not lint */ #include @@ -489,8 +489,8 @@ asgnsamples() ccnt = samples[i]; if (ccnt == 0) continue; - pcl = lowpc + scale * i; - pch = lowpc + scale * (i + 1); + pcl = lowpc + (unsigned long)(scale * i); + pch = lowpc + (unsigned long)(scale * (i + 1)); time = ccnt; # ifdef DEBUG if ( debug & SAMPLEDEBUG ) { diff --git a/usr.bin/gprof/gprof.h b/usr.bin/gprof/gprof.h index e42647300a9d..d362fb8a1e65 100644 --- a/usr.bin/gprof/gprof.h +++ b/usr.bin/gprof/gprof.h @@ -40,6 +40,9 @@ #include #include +#if __alpha__ +# include "alpha.h" +#endif #if vax # include "vax.h" #endif @@ -207,7 +210,7 @@ UNIT *samples; unsigned long s_lowpc; /* lowpc from the profile file */ unsigned long s_highpc; /* highpc from the profile file */ -unsigned lowpc, highpc; /* range profiled, in UNIT's */ +unsigned long lowpc, highpc; /* range profiled, in UNIT's */ unsigned sampbytes; /* number of bytes of samples */ int nsamples; /* number of samples */ double actime; /* accumulated time thus far for putprofline */