From 2e480d34aaabcd405e72ff80866451e8c3b08c08 Mon Sep 17 00:00:00 2001 From: Bruce Evans Date: Fri, 10 Jul 1998 02:27:16 +0000 Subject: [PATCH] Added a kernel-only typedef (ptrint_t) giving an integral type that is least unsuitable for holding an object pointer. This should have been used to fix warnings about casts between pointers and ints on alphas. Moved corresponding existing general typedef (fptrint_t) for function pointers from the i386 to a kernel-only typedef in . Kludged libc/gmon/mcount.c so that it can still see this typedef. --- lib/libc/gmon/mcount.c | 13 +++++++++++-- sys/alpha/include/types.h | 8 +++++++- sys/amd64/include/profile.h | 5 +---- sys/i386/include/profile.h | 5 +---- sys/i386/include/types.h | 8 +++++++- 5 files changed, 27 insertions(+), 12 deletions(-) diff --git a/lib/libc/gmon/mcount.c b/lib/libc/gmon/mcount.c index 18633c3dd6f6..aa8f552f4b5a 100644 --- a/lib/libc/gmon/mcount.c +++ b/lib/libc/gmon/mcount.c @@ -36,11 +36,20 @@ static char sccsid[] = "@(#)mcount.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id: mcount.c,v 1.9 1997/02/22 14:58:27 peter Exp $"; + "$Id: mcount.c,v 1.10 1998/03/09 04:42:19 jb Exp $"; #endif #ifndef __NETBSD_SYSCALLS + +#ifdef KERNEL #include +#else +/* Kludge to get fptrint_t declared. */ +#define KERNEL +#include +#undef KERNEL +#endif + #include #ifdef KERNEL #include @@ -325,4 +334,4 @@ mexitcount(selfpc) } #endif /* GUPROF */ -#endif +#endif /* !__NETBSD_SYSCALLS */ diff --git a/sys/alpha/include/types.h b/sys/alpha/include/types.h index 87926d40e0ef..fd8f6b45e63f 100644 --- a/sys/alpha/include/types.h +++ b/sys/alpha/include/types.h @@ -1,4 +1,4 @@ -/* $Id: types.h,v 1.4 1998/06/14 15:26:03 bde Exp $ */ +/* $Id: types.h,v 1.5 1998/06/27 15:35:00 dfr Exp $ */ /* From: NetBSD: types.h,v 1.8 1997/04/06 08:47:45 cgd Exp */ /*- @@ -75,6 +75,12 @@ typedef int64_t register_t; typedef int32_t ufs_daddr_t; #ifdef KERNEL +/* An unsigned integral type that can hold object pointers. */ +typedef u_int32_t ptrint_t; + +/* An unsigned integral type that can hold function pointers. */ +typedef u_int32_t fptrint_t; + typedef u_int64_t uoff_t; /* unsigned file offset */ #endif diff --git a/sys/amd64/include/profile.h b/sys/amd64/include/profile.h index 44da274435ff..e3da51ad8f1b 100644 --- a/sys/amd64/include/profile.h +++ b/sys/amd64/include/profile.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)profile.h 8.1 (Berkeley) 6/11/93 - * $Id: profile.h,v 1.13 1997/12/15 02:18:30 tegge Exp $ + * $Id: profile.h,v 1.14 1998/02/03 20:32:38 bde Exp $ */ #ifndef _MACHINE_PROFILE_H_ @@ -103,9 +103,6 @@ mcount() \ } #endif /* KERNEL */ -/* An unsigned integral type that can hold function pointers. */ -typedef u_int fptrint_t; - /* * An unsigned integral type that can hold non-negative difference between * function pointers. diff --git a/sys/i386/include/profile.h b/sys/i386/include/profile.h index 44da274435ff..e3da51ad8f1b 100644 --- a/sys/i386/include/profile.h +++ b/sys/i386/include/profile.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)profile.h 8.1 (Berkeley) 6/11/93 - * $Id: profile.h,v 1.13 1997/12/15 02:18:30 tegge Exp $ + * $Id: profile.h,v 1.14 1998/02/03 20:32:38 bde Exp $ */ #ifndef _MACHINE_PROFILE_H_ @@ -103,9 +103,6 @@ mcount() \ } #endif /* KERNEL */ -/* An unsigned integral type that can hold function pointers. */ -typedef u_int fptrint_t; - /* * An unsigned integral type that can hold non-negative difference between * function pointers. diff --git a/sys/i386/include/types.h b/sys/i386/include/types.h index 50f9c333d6db..45be306da2cb 100644 --- a/sys/i386/include/types.h +++ b/sys/i386/include/types.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)types.h 8.3 (Berkeley) 1/5/94 - * $Id: types.h,v 1.12 1998/06/14 14:08:21 bde Exp $ + * $Id: types.h,v 1.13 1998/06/18 15:32:05 bde Exp $ */ #ifndef _MACHINE_TYPES_H_ @@ -70,6 +70,12 @@ typedef int32_t register_t; typedef int32_t ufs_daddr_t; #ifdef KERNEL +/* An unsigned integral type that can hold object pointers. */ +typedef u_int32_t ptrint_t; + +/* An unsigned integral type that can hold function pointers. */ +typedef u_int32_t fptrint_t; + typedef __uint64_t uoff_t; /* unsigned file offset */ #endif